Warning: Permanently added '3.93.241.65' (ED25519) to the list of known hosts.

You can reproduce this build on your computer by running:

  sudo dnf install copr-rpmbuild
  /usr/bin/copr-rpmbuild --verbose --drop-resultdir --task-url https://copr.fedorainfracloud.org/backend/get-build-task/8425791-fedora-rawhide-aarch64 --chroot fedora-rawhide-aarch64


Version: 1.2
PID: 10762
Logging PID: 10763
Task:
{'allow_user_ssh': False,
 'appstream': False,
 'background': True,
 'build_id': 8425791,
 'buildroot_pkgs': [],
 'chroot': 'fedora-rawhide-aarch64',
 'enable_net': False,
 'fedora_review': False,
 'git_hash': 'd3dd7d974d81b201d863c48d1efe301bec38d92d',
 'git_repo': 'https://copr-dist-git.fedorainfracloud.org/git/dmalcolm/gcc-15-smoketest-3/perl-Clownfish',
 'isolation': 'default',
 'memory_reqs': 2048,
 'package_name': 'perl-Clownfish',
 'package_version': '0.6.3-23',
 'project_dirname': 'gcc-15-smoketest-3',
 'project_name': 'gcc-15-smoketest-3',
 'project_owner': 'dmalcolm',
 'repo_priority': None,
 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/dmalcolm/gcc-15-smoketest-3/fedora-rawhide-aarch64/',
            'id': 'copr_base',
            'name': 'Copr repository',
            'priority': None},
           {'baseurl': 'https://fedorapeople.org/~dmalcolm/gcc/gcc-15-mass-prebuild/$basearch',
            'id': 'https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch',
            'name': 'Additional repo https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch'}],
 'sandbox': 'dmalcolm/gcc-15-smoketest-3--dmalcolm',
 'source_json': {},
 'source_type': None,
 'ssh_public_keys': None,
 'storage': 0,
 'submitter': 'dmalcolm',
 'tags': [],
 'task_id': '8425791-fedora-rawhide-aarch64',
 'timeout': 115200,
 'uses_devel_repo': False,
 'with_opts': [],
 'without_opts': []}

Running: git clone https://copr-dist-git.fedorainfracloud.org/git/dmalcolm/gcc-15-smoketest-3/perl-Clownfish /var/lib/copr-rpmbuild/workspace/workdir-6usdpy4c/perl-Clownfish --depth 500 --no-single-branch --recursive

cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/dmalcolm/gcc-15-smoketest-3/perl-Clownfish', '/var/lib/copr-rpmbuild/workspace/workdir-6usdpy4c/perl-Clownfish', '--depth', '500', '--no-single-branch', '--recursive']
cwd: .
rc: 0
stdout: 
stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-6usdpy4c/perl-Clownfish'...

Running: git checkout d3dd7d974d81b201d863c48d1efe301bec38d92d --

cmd: ['git', 'checkout', 'd3dd7d974d81b201d863c48d1efe301bec38d92d', '--']
cwd: /var/lib/copr-rpmbuild/workspace/workdir-6usdpy4c/perl-Clownfish
rc: 0
stdout: 
stderr: Note: switching to 'd3dd7d974d81b201d863c48d1efe301bec38d92d'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at d3dd7d9 automatic import of perl-Clownfish

Running: dist-git-client sources

cmd: ['dist-git-client', 'sources']
cwd: /var/lib/copr-rpmbuild/workspace/workdir-6usdpy4c/perl-Clownfish
rc: 0
stdout: 
stderr: INFO: Reading stdout from command: git rev-parse --abbrev-ref HEAD
INFO: Reading stdout from command: git rev-parse HEAD
INFO: Reading sources specification file: sources
INFO: Downloading Clownfish-0.6.3.tar.gz
INFO: Reading stdout from command: curl --help all
INFO: Calling: curl -H Pragma: -o Clownfish-0.6.3.tar.gz --location --connect-timeout 60 --retry 3 --retry-delay 10 --remote-time --show-error --fail --retry-all-errors https://copr-dist-git.fedorainfracloud.org/repo/pkgs/dmalcolm/gcc-15-smoketest-3/perl-Clownfish/Clownfish-0.6.3.tar.gz/md5/e161a37281ec96cd22e11c2beb3dce94/Clownfish-0.6.3.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  230k  100  230k    0     0  4431k      0 --:--:-- --:--:-- --:--:-- 4515k
INFO: Reading stdout from command: md5sum Clownfish-0.6.3.tar.gz

/usr/bin/tail: /var/lib/copr-rpmbuild/main.log: file truncated
Running (timeout=115200): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-6usdpy4c/perl-Clownfish/perl-Clownfish.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-6usdpy4c/perl-Clownfish --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1734741474.003440 -r /var/lib/copr-rpmbuild/results/configs/child.cfg
INFO: mock.py version 6.0 starting (python version = 3.13.0, NVR = mock-6.0-1.fc41), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-6usdpy4c/perl-Clownfish/perl-Clownfish.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-6usdpy4c/perl-Clownfish --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1734741474.003440 -r /var/lib/copr-rpmbuild/results/configs/child.cfg
Start(bootstrap): init plugins
INFO: tmpfs initialized
INFO: selinux enabled
INFO: chroot_scan: initialized
INFO: compress_logs: initialized
Finish(bootstrap): init plugins
Start: init plugins
INFO: tmpfs initialized
INFO: selinux enabled
INFO: chroot_scan: initialized
INFO: compress_logs: initialized
Finish: init plugins
INFO: Signal handler active
Start: run
INFO: Start(/var/lib/copr-rpmbuild/workspace/workdir-6usdpy4c/perl-Clownfish/perl-Clownfish.spec)  Config(fedora-rawhide-aarch64)
Start: clean chroot
Finish: clean chroot
Mock Version: 6.0
INFO: Mock Version: 6.0
Start(bootstrap): chroot init
INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-aarch64-bootstrap-1734741474.003440/root.
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled package manager cache
Start(bootstrap): cleaning package manager metadata
Finish(bootstrap): cleaning package manager metadata
INFO: Guessed host environment type: unknown
INFO: Using container image: registry.fedoraproject.org/fedora:rawhide
INFO: Pulling image: registry.fedoraproject.org/fedora:rawhide
INFO: Tagging container image as mock-bootstrap-7d218b60-ede6-4320-97aa-8ea2c5224be0
INFO: Checking that 5f87c0f1e040f2e2f1e0d50fa9c9806ff92e3b52a45083121db4e7c4f53e5107 image matches host's architecture
INFO: Copy content of container 5f87c0f1e040f2e2f1e0d50fa9c9806ff92e3b52a45083121db4e7c4f53e5107 to /var/lib/mock/fedora-rawhide-aarch64-bootstrap-1734741474.003440/root
INFO: mounting 5f87c0f1e040f2e2f1e0d50fa9c9806ff92e3b52a45083121db4e7c4f53e5107 with podman image mount
INFO: image 5f87c0f1e040f2e2f1e0d50fa9c9806ff92e3b52a45083121db4e7c4f53e5107 as /var/lib/containers/storage/overlay/bad9e80acbd741d5eaa99edcba5ef7ce2477d3046d41b3e7379d9b3d31adec85/merged
INFO: umounting image 5f87c0f1e040f2e2f1e0d50fa9c9806ff92e3b52a45083121db4e7c4f53e5107 (/var/lib/containers/storage/overlay/bad9e80acbd741d5eaa99edcba5ef7ce2477d3046d41b3e7379d9b3d31adec85/merged) with podman image umount
INFO: Removing image mock-bootstrap-7d218b60-ede6-4320-97aa-8ea2c5224be0
INFO: Package manager dnf5 detected and used (fallback)
INFO: Not updating bootstrap chroot, bootstrap_image_ready=True
Start(bootstrap): creating root cache
Finish(bootstrap): creating root cache
Finish(bootstrap): chroot init
Start: chroot init
INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-aarch64-1734741474.003440/root.
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled package manager cache
Start: cleaning package manager metadata
Finish: cleaning package manager metadata
INFO: enabled HW Info plugin
INFO: Package manager dnf5 detected and used (direct choice)
INFO: Buildroot is handled by package management downloaded with a bootstrap image:
  rpm-4.20.0-1.fc42.aarch64
  rpm-sequoia-1.7.0-3.fc42.aarch64
  dnf5-5.2.8.1-2.fc42.aarch64
  dnf5-plugins-5.2.8.1-2.fc42.aarch64
Start: installing minimal buildroot with dnf5
Updating and loading repositories:
 fedora                                 100% |  35.9 MiB/s |  20.8 MiB |  00m01s
 Copr repository                        100% |  95.3 MiB/s |   6.6 MiB |  00m00s
 Additional repo https_fedorapeople_org 100% | 115.2 KiB/s |  15.9 KiB |  00m00s
Repositories loaded.
Package                            Arch    Version                    Repository                                                             Size
Installing group/module packages:
 bash                              aarch64 5.2.37-1.fc42              fedora                                                              8.2 MiB
 bzip2                             aarch64 1.0.8-19.fc42              copr_base                                                         168.7 KiB
 coreutils                         aarch64 9.5-11.fc42                copr_base                                                           7.9 MiB
 cpio                              aarch64 2.15-2.fc41                fedora                                                              1.2 MiB
 diffutils                         aarch64 3.10-8.fc42                copr_base                                                           1.7 MiB
 fedora-release-common             noarch  42-0.11                    fedora                                                             19.8 KiB
 findutils                         aarch64 1:4.10.0-4.fc42            copr_base                                                           1.9 MiB
 gawk                              aarch64 5.3.0-4.fc41               fedora                                                              4.2 MiB
 glibc-minimal-langpack            aarch64 2.40.9000-24.fc42          copr_base                                                           0.0   B
 grep                              aarch64 3.11-9.fc42                copr_base                                                           1.0 MiB
 gzip                              aarch64 1.13-2.fc42                copr_base                                                         422.7 KiB
 info                              aarch64 7.1.1-2.fc42               fedora                                                            613.6 KiB
 patch                             aarch64 2.7.6-25.fc42              copr_base                                                         259.0 KiB
 redhat-rpm-config                 noarch  300-1.no_annobin.0.fc42    copr_base                                                         186.6 KiB
 rpm-build                         aarch64 4.20.0-1.fc42              fedora                                                              1.4 MiB
 sed                               aarch64 4.9-3.fc41                 fedora                                                              1.0 MiB
 shadow-utils                      aarch64 2:4.17.0~rc1-1.fc42        fedora                                                              4.5 MiB
 tar                               aarch64 2:1.35-4.fc41              fedora                                                              3.1 MiB
 unzip                             aarch64 6.0-65.fc42                fedora                                                              2.3 MiB
 util-linux                        aarch64 2.40.2-8.fc42              fedora                                                             16.9 MiB
 which                             aarch64 2.21-42.fc41               fedora                                                            248.2 KiB
 xz                                aarch64 1:5.6.3-2.fc42             fedora                                                              1.5 MiB
Installing dependencies:
 add-determinism                   aarch64 0.4.3-1.fc42               fedora                                                              2.1 MiB
 alternatives                      aarch64 1.31-1.fc42                fedora                                                             88.7 KiB
 ansible-srpm-macros               noarch  1-16.fc41                  fedora                                                             35.7 KiB
 audit-libs                        aarch64 4.0.2-1.fc42               copr_base                                                         415.2 KiB
 authselect                        aarch64 1.5.0-8.fc42               copr_base                                                         179.9 KiB
 authselect-libs                   aarch64 1.5.0-8.fc42               copr_base                                                         865.5 KiB
 basesystem                        noarch  11-21.fc41                 fedora                                                              0.0   B
 binutils                          aarch64 2.43.50-9.fc42             copr_base                                                          28.9 MiB
 build-reproducibility-srpm-macros noarch  0.4.3-1.fc42               fedora                                                            735.0   B
 bzip2-libs                        aarch64 1.0.8-19.fc42              copr_base                                                         135.1 KiB
 ca-certificates                   noarch  2024.2.69_v8.0.401-3.fc42  fedora                                                              2.6 MiB
 coreutils-common                  aarch64 9.5-11.fc42                copr_base                                                          11.2 MiB
 cracklib                          aarch64 2.9.11-6.fc42              copr_base                                                         417.7 KiB
 crypto-policies                   noarch  20241128-1.gitbb7b0b0.fc42 fedora                                                            137.3 KiB
 curl                              aarch64 8.11.1-2.fc42              copr_base                                                         451.9 KiB
 cyrus-sasl-lib                    aarch64 2.1.28-27.fc41             fedora                                                              3.1 MiB
 debugedit                         aarch64 5.1-2.fc42                 copr_base                                                         241.5 KiB
 dwz                               aarch64 0.15-8.fc42                copr_base                                                         319.6 KiB
 ed                                aarch64 1.20.2-2.fc41              fedora                                                            282.8 KiB
 efi-srpm-macros                   noarch  5-13.fc42                  fedora                                                             40.2 KiB
 elfutils                          aarch64 0.192-7.fc42               copr_base                                                           3.0 MiB
 elfutils-debuginfod-client        aarch64 0.192-7.fc42               copr_base                                                         141.3 KiB
 elfutils-default-yama-scope       noarch  0.192-7.fc42               copr_base                                                           1.8 KiB
 elfutils-libelf                   aarch64 0.192-7.fc42               copr_base                                                           1.2 MiB
 elfutils-libs                     aarch64 0.192-7.fc42               copr_base                                                         734.9 KiB
 fedora-gpg-keys                   noarch  42-0.3                     fedora                                                            126.4 KiB
 fedora-release                    noarch  42-0.11                    fedora                                                              0.0   B
 fedora-release-identity-basic     noarch  42-0.11                    fedora                                                            719.0   B
 fedora-repos                      noarch  42-0.3                     fedora                                                              4.9 KiB
 fedora-repos-rawhide              noarch  42-0.3                     fedora                                                              2.2 KiB
 file                              aarch64 5.45-8.fc42                fedora                                                            139.5 KiB
 file-libs                         aarch64 5.45-8.fc42                fedora                                                             10.0 MiB
 filesystem                        aarch64 3.18-29.fc42               fedora                                                            106.0   B
 filesystem-srpm-macros            noarch  3.18-29.fc42               fedora                                                             36.1 KiB
 fonts-srpm-macros                 noarch  1:2.0.5-17.fc41            fedora                                                             55.8 KiB
 forge-srpm-macros                 noarch  0.4.0-1.fc42               fedora                                                             38.9 KiB
 fpc-srpm-macros                   noarch  1.3-13.fc41                fedora                                                            144.0   B
 gdb-minimal                       aarch64 15.2-4.fc42                copr_base                                                          12.6 MiB
 gdbm                              aarch64 1:1.23-7.fc41              fedora                                                            928.5 KiB
 gdbm-libs                         aarch64 1:1.23-7.fc41              fedora                                                            426.0 KiB
 ghc-srpm-macros                   noarch  1.9.2-1.fc42               fedora                                                            779.0   B
 glibc                             aarch64 2.40.9000-24.fc42          copr_base                                                           6.0 MiB
 glibc-common                      aarch64 2.40.9000-24.fc42          copr_base                                                           1.3 MiB
 glibc-gconv-extra                 aarch64 2.40.9000-24.fc42          copr_base                                                          18.3 MiB
 gmp                               aarch64 1:6.3.0-2.fc41             fedora                                                            722.0 KiB
 gnat-srpm-macros                  noarch  6-6.fc41                   fedora                                                              1.0 KiB
 go-srpm-macros                    noarch  3.6.0-5.fc42               fedora                                                             60.8 KiB
 jansson                           aarch64 2.14-1.fc42                copr_base                                                          90.8 KiB
 json-c                            aarch64 0.18-1.fc42                copr_base                                                         135.7 KiB
 kernel-srpm-macros                noarch  1.0-24.fc41                fedora                                                              1.9 KiB
 keyutils-libs                     aarch64 1.6.3-4.fc42               copr_base                                                          96.8 KiB
 krb5-libs                         aarch64 1.21.3-3.fc42              copr_base                                                           2.5 MiB
 libacl                            aarch64 2.3.2-2.fc42               copr_base                                                          66.3 KiB
 libarchive                        aarch64 3.7.7-1.fc42               copr_base                                                         899.2 KiB
 libattr                           aarch64 2.5.2-4.fc41               fedora                                                            196.6 KiB
 libblkid                          aarch64 2.40.2-8.fc42              fedora                                                            418.6 KiB
 libbrotli                         aarch64 1.1.0-5.fc42               copr_base                                                         904.3 KiB
 libcap                            aarch64 2.71-1.fc42                copr_base                                                         498.5 KiB
 libcap-ng                         aarch64 0.8.5-3.fc42               copr_base                                                         158.7 KiB
 libcom_err                        aarch64 1.47.1-6.fc42              fedora                                                            239.3 KiB
 libcurl                           aarch64 8.11.1-2.fc42              copr_base                                                         845.2 KiB
 libeconf                          aarch64 0.7.5-1.fc42               copr_base                                                          78.7 KiB
 libevent                          aarch64 2.1.12-14.fc42             copr_base                                                           1.1 MiB
 libfdisk                          aarch64 2.40.2-8.fc42              fedora                                                            482.9 KiB
 libffi                            aarch64 3.4.6-3.fc42               fedora                                                            282.4 KiB
 libgcc                            aarch64 15.0.0-0.2.fc42            https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 218.8 KiB
 libgomp                           aarch64 15.0.0-0.2.fc42            https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 501.0 KiB
 libidn2                           aarch64 2.3.7-2.fc42               copr_base                                                         327.7 KiB
 libmount                          aarch64 2.40.2-8.fc42              fedora                                                            483.9 KiB
 libnghttp2                        aarch64 1.64.0-1.fc42              fedora                                                            262.2 KiB
 libnsl2                           aarch64 2.0.1-2.fc42               copr_base                                                          92.3 KiB
 libpkgconf                        aarch64 2.3.0-1.fc42               fedora                                                            198.1 KiB
 libpsl                            aarch64 0.21.5-4.fc42              copr_base                                                         131.2 KiB
 libpwquality                      aarch64 1.4.5-11.fc42              copr_base                                                         604.7 KiB
 libselinux                        aarch64 3.8-0.rc3.1.fc42           fedora                                                            195.6 KiB
 libsemanage                       aarch64 3.8-0.rc3.1.fc42           fedora                                                            353.3 KiB
 libsepol                          aarch64 3.8-0.rc3.1.fc42           fedora                                                            796.3 KiB
 libsmartcols                      aarch64 2.40.2-8.fc42              fedora                                                            288.5 KiB
 libssh                            aarch64 0.11.1-1.fc42              copr_base                                                         575.7 KiB
 libssh-config                     noarch  0.11.1-1.fc42              copr_base                                                         277.0   B
 libstdc++                         aarch64 15.0.0-0.2.fc42            https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch   2.7 MiB
 libtasn1                          aarch64 4.19.0-9.fc42              copr_base                                                         217.7 KiB
 libtirpc                          aarch64 1.3.6-1.fc42               fedora                                                            212.9 KiB
 libtool-ltdl                      aarch64 2.5.4-1.fc42               copr_base                                                          92.1 KiB
 libunistring                      aarch64 1.1-8.fc42                 copr_base                                                           1.7 MiB
 libuuid                           aarch64 2.40.2-8.fc42              fedora                                                            197.5 KiB
 libverto                          aarch64 0.3.2-9.fc41               fedora                                                            197.5 KiB
 libxcrypt                         aarch64 4.4.36-11.fc42             fedora                                                            271.5 KiB
 libxml2                           aarch64 2.12.8-2.fc42              copr_base                                                           1.9 MiB
 libzstd                           aarch64 1.5.6-2.fc41               fedora                                                            796.0 KiB
 lua-libs                          aarch64 5.4.7-1.fc42               fedora                                                            393.1 KiB
 lua-srpm-macros                   noarch  1-14.fc41                  fedora                                                              1.3 KiB
 lz4-libs                          aarch64 1.10.0-1.fc42              copr_base                                                         195.5 KiB
 mpfr                              aarch64 4.2.1-5.fc42               copr_base                                                         748.3 KiB
 ncurses-base                      noarch  6.5-2.20240629.fc41        fedora                                                            326.3 KiB
 ncurses-libs                      aarch64 6.5-2.20240629.fc41        fedora                                                              2.2 MiB
 ocaml-srpm-macros                 noarch  10-3.fc41                  fedora                                                              1.9 KiB
 openblas-srpm-macros              noarch  2-18.fc41                  fedora                                                            112.0   B
 openldap                          aarch64 2.6.8-6.fc42               copr_base                                                         747.0 KiB
 openssl-libs                      aarch64 1:3.2.2-8.fc42             copr_base                                                           6.3 MiB
 p11-kit                           aarch64 0.25.5-4.fc42              copr_base                                                           2.3 MiB
 p11-kit-trust                     aarch64 0.25.5-4.fc42              copr_base                                                         456.7 KiB
 package-notes-srpm-macros         noarch  0.5-12.fc41                fedora                                                              1.6 KiB
 pam                               aarch64 1.7.0-3.fc42               copr_base                                                           4.2 MiB
 pam-libs                          aarch64 1.7.0-3.fc42               copr_base                                                         218.7 KiB
 pcre2                             aarch64 10.44-1.fc42.1             copr_base                                                         644.5 KiB
 pcre2-syntax                      noarch  10.44-1.fc42.1             copr_base                                                         251.6 KiB
 perl-srpm-macros                  noarch  1-56.fc41                  fedora                                                            861.0   B
 pkgconf                           aarch64 2.3.0-1.fc42               fedora                                                            240.6 KiB
 pkgconf-m4                        noarch  2.3.0-1.fc42               fedora                                                             14.4 KiB
 pkgconf-pkg-config                aarch64 2.3.0-1.fc42               fedora                                                            990.0   B
 popt                              aarch64 1.19-7.fc41                fedora                                                            272.9 KiB
 publicsuffix-list-dafsa           noarch  20240107-4.fc41            fedora                                                             67.5 KiB
 pyproject-srpm-macros             noarch  1.16.3-1.fc42              fedora                                                              1.9 KiB
 python-srpm-macros                noarch  3.13-3.fc41                fedora                                                             51.0 KiB
 qt5-srpm-macros                   noarch  5.15.15-1.fc42             fedora                                                            500.0   B
 qt6-srpm-macros                   noarch  6.8.1-4.fc42               fedora                                                            456.0   B
 readline                          aarch64 8.2-11.fc42                fedora                                                            753.3 KiB
 rpm                               aarch64 4.20.0-1.fc42              fedora                                                              3.9 MiB
 rpm-build-libs                    aarch64 4.20.0-1.fc42              fedora                                                            262.7 KiB
 rpm-libs                          aarch64 4.20.0-1.fc42              fedora                                                            797.9 KiB
 rpm-sequoia                       aarch64 1.7.0-3.fc42               fedora                                                              2.2 MiB
 rust-srpm-macros                  noarch  26.3-3.fc42                fedora                                                              4.8 KiB
 setup                             noarch  2.15.0-5.fc41              fedora                                                            720.7 KiB
 sqlite-libs                       aarch64 3.47.2-1.fc42              fedora                                                              1.4 MiB
 systemd-libs                      aarch64 257-1.fc42                 fedora                                                              2.4 MiB
 util-linux-core                   aarch64 2.40.2-8.fc42              fedora                                                              6.2 MiB
 xxhash-libs                       aarch64 0.8.2-4.fc42               fedora                                                            212.3 KiB
 xz-libs                           aarch64 1:5.6.3-2.fc42             fedora                                                            266.4 KiB
 zig-srpm-macros                   noarch  1-3.fc41                   fedora                                                              1.1 KiB
 zip                               aarch64 3.0-42.fc42                fedora                                                            755.7 KiB
 zlib-ng-compat                    aarch64 2.2.2-1.fc42               fedora                                                            133.8 KiB
 zstd                              aarch64 1.5.6-2.fc41               fedora                                                              1.7 MiB
Installing groups:
 Buildsystem building group                                                                                                                      

Transaction Summary:
 Installing:       155 packages

Total size of inbound packages is 50 MiB. Need to download 50 MiB.
After this operation, 229 MiB extra will be used (install 229 MiB, remove 0 B).
[  1/155] fedora-release-common-0:42-0. 100% |   1.8 MiB/s |  23.9 KiB |  00m00s
[  2/155] cpio-0:2.15-2.fc41.aarch64    100% |  20.3 MiB/s | 291.3 KiB |  00m00s
[  3/155] bash-0:5.2.37-1.fc42.aarch64  100% |  99.5 MiB/s |   1.8 MiB |  00m00s
[  4/155] gawk-0:5.3.0-4.fc41.aarch64   100% | 132.2 MiB/s |   1.1 MiB |  00m00s
[  5/155] info-0:7.1.1-2.fc42.aarch64   100% |  22.1 MiB/s | 181.3 KiB |  00m00s
[  6/155] rpm-build-0:4.20.0-1.fc42.aar 100% |  11.7 MiB/s |  84.1 KiB |  00m00s
[  7/155] sed-0:4.9-3.fc41.aarch64      100% |  77.0 MiB/s | 315.4 KiB |  00m00s
[  8/155] shadow-utils-2:4.17.0~rc1-1.f 100% | 183.0 MiB/s |   1.3 MiB |  00m00s
[  9/155] tar-2:1.35-4.fc41.aarch64     100% | 119.2 MiB/s | 854.7 KiB |  00m00s
[ 10/155] unzip-0:6.0-65.fc42.aarch64   100% |  30.2 MiB/s | 185.5 KiB |  00m00s
[ 11/155] util-linux-0:2.40.2-8.fc42.aa 100% | 195.4 MiB/s |   1.2 MiB |  00m00s
[ 12/155] which-0:2.21-42.fc41.aarch64  100% |  10.1 MiB/s |  41.5 KiB |  00m00s
[ 13/155] xz-1:5.6.3-2.fc42.aarch64     100% |  93.0 MiB/s | 476.1 KiB |  00m00s
[ 14/155] bzip2-0:1.0.8-19.fc42.aarch64 100% |   7.0 MiB/s |  50.0 KiB |  00m00s
[ 15/155] diffutils-0:3.10-8.fc42.aarch 100% |  54.1 MiB/s | 387.7 KiB |  00m00s
[ 16/155] findutils-1:4.10.0-4.fc42.aar 100% | 105.7 MiB/s | 541.0 KiB |  00m00s
[ 17/155] glibc-minimal-langpack-0:2.40 100% |  39.9 MiB/s | 122.4 KiB |  00m00s
[ 18/155] coreutils-0:9.5-11.fc42.aarch 100% |  56.2 MiB/s | 920.7 KiB |  00m00s
[ 19/155] grep-0:3.11-9.fc42.aarch64    100% |  69.6 MiB/s | 285.2 KiB |  00m00s
[ 20/155] gzip-0:1.13-2.fc42.aarch64    100% |  39.3 MiB/s | 161.1 KiB |  00m00s
[ 21/155] patch-0:2.7.6-25.fc42.aarch64 100% |  30.2 MiB/s | 123.7 KiB |  00m00s
[ 22/155] redhat-rpm-config-0:300-1.no_ 100% |  18.7 MiB/s |  76.6 KiB |  00m00s
[ 23/155] filesystem-0:3.18-29.fc42.aar 100% | 217.4 MiB/s |   1.1 MiB |  00m00s
[ 24/155] fedora-repos-0:42-0.3.noarch  100% |   9.0 MiB/s |   9.2 KiB |  00m00s
[ 25/155] ncurses-libs-0:6.5-2.20240629 100% | 106.3 MiB/s | 326.5 KiB |  00m00s
[ 26/155] gmp-1:6.3.0-2.fc41.aarch64    100% | 131.9 MiB/s | 270.1 KiB |  00m00s
[ 27/155] file-0:5.45-8.fc42.aarch64    100% |  47.8 MiB/s |  49.0 KiB |  00m00s
[ 28/155] readline-0:8.2-11.fc42.aarch6 100% |  69.3 MiB/s | 212.7 KiB |  00m00s
[ 29/155] pkgconf-pkg-config-0:2.3.0-1. 100% |   9.7 MiB/s |  10.0 KiB |  00m00s
[ 30/155] popt-0:1.19-7.fc41.aarch64    100% |  64.5 MiB/s |  66.0 KiB |  00m00s
[ 31/155] rpm-0:4.20.0-1.fc42.aarch64   100% | 178.7 MiB/s | 549.0 KiB |  00m00s
[ 32/155] rpm-build-libs-0:4.20.0-1.fc4 100% |  23.2 MiB/s |  95.1 KiB |  00m00s
[ 33/155] rpm-libs-0:4.20.0-1.fc42.aarc 100% |  98.6 MiB/s | 302.8 KiB |  00m00s
[ 34/155] libattr-0:2.5.2-4.fc41.aarch6 100% |  17.8 MiB/s |  18.2 KiB |  00m00s
[ 35/155] zstd-0:1.5.6-2.fc41.aarch64   100% | 148.7 MiB/s | 456.8 KiB |  00m00s
[ 36/155] libxcrypt-0:4.4.36-11.fc42.aa 100% |  59.7 MiB/s | 122.4 KiB |  00m00s
[ 37/155] setup-0:2.15.0-5.fc41.noarch  100% |  75.4 MiB/s | 154.4 KiB |  00m00s
[ 38/155] libblkid-0:2.40.2-8.fc42.aarc 100% |  60.7 MiB/s | 124.3 KiB |  00m00s
[ 39/155] libfdisk-0:2.40.2-8.fc42.aarc 100% |  76.0 MiB/s | 155.7 KiB |  00m00s
[ 40/155] libmount-0:2.40.2-8.fc42.aarc 100% |  75.5 MiB/s | 154.6 KiB |  00m00s
[ 41/155] libsmartcols-0:2.40.2-8.fc42. 100% |  80.9 MiB/s |  82.9 KiB |  00m00s
[ 42/155] libuuid-0:2.40.2-8.fc42.aarch 100% |  28.8 MiB/s |  29.5 KiB |  00m00s
[ 43/155] systemd-libs-0:257-1.fc42.aar 100% | 244.0 MiB/s | 749.6 KiB |  00m00s
[ 44/155] util-linux-core-0:2.40.2-8.fc 100% | 129.9 MiB/s | 532.1 KiB |  00m00s
[ 45/155] zlib-ng-compat-0:2.2.2-1.fc42 100% |  16.0 MiB/s |  65.7 KiB |  00m00s
[ 46/155] xz-libs-1:5.6.3-2.fc42.aarch6 100% |  54.2 MiB/s | 111.1 KiB |  00m00s
[ 47/155] ansible-srpm-macros-0:1-16.fc 100% |  20.3 MiB/s |  20.8 KiB |  00m00s
[ 48/155] ed-0:1.20.2-2.fc41.aarch64    100% |  39.6 MiB/s |  81.2 KiB |  00m00s
[ 49/155] build-reproducibility-srpm-ma 100% |  10.9 MiB/s |  11.2 KiB |  00m00s
[ 50/155] efi-srpm-macros-0:5-13.fc42.n 100% |  21.9 MiB/s |  22.5 KiB |  00m00s
[ 51/155] filesystem-srpm-macros-0:3.18 100% |  23.3 MiB/s |  23.9 KiB |  00m00s
[ 52/155] fonts-srpm-macros-1:2.0.5-17. 100% |  26.3 MiB/s |  27.0 KiB |  00m00s
[ 53/155] forge-srpm-macros-0:0.4.0-1.f 100% |  19.3 MiB/s |  19.8 KiB |  00m00s
[ 54/155] fpc-srpm-macros-0:1.3-13.fc41 100% |   7.8 MiB/s |   8.0 KiB |  00m00s
[ 55/155] ghc-srpm-macros-0:1.9.2-1.fc4 100% |   8.9 MiB/s |   9.1 KiB |  00m00s
[ 56/155] gnat-srpm-macros-0:6-6.fc41.n 100% |   0.0   B/s |   9.0 KiB |  00m00s
[ 57/155] go-srpm-macros-0:3.6.0-5.fc42 100% |  27.3 MiB/s |  28.0 KiB |  00m00s
[ 58/155] kernel-srpm-macros-0:1.0-24.f 100% |   9.6 MiB/s |   9.9 KiB |  00m00s
[ 59/155] lua-srpm-macros-0:1-14.fc41.n 100% |   8.7 MiB/s |   8.9 KiB |  00m00s
[ 60/155] ocaml-srpm-macros-0:10-3.fc41 100% |   0.0   B/s |   9.2 KiB |  00m00s
[ 61/155] openblas-srpm-macros-0:2-18.f 100% |   0.0   B/s |   7.7 KiB |  00m00s
[ 62/155] package-notes-srpm-macros-0:0 100% |   9.6 MiB/s |   9.8 KiB |  00m00s
[ 63/155] perl-srpm-macros-0:1-56.fc41. 100% |   8.3 MiB/s |   8.5 KiB |  00m00s
[ 64/155] pyproject-srpm-macros-0:1.16. 100% |  13.5 MiB/s |  13.9 KiB |  00m00s
[ 65/155] python-srpm-macros-0:3.13-3.f 100% |  11.6 MiB/s |  23.7 KiB |  00m00s
[ 66/155] qt5-srpm-macros-0:5.15.15-1.f 100% |   8.7 MiB/s |   8.9 KiB |  00m00s
[ 67/155] qt6-srpm-macros-0:6.8.1-4.fc4 100% |   9.1 MiB/s |   9.3 KiB |  00m00s
[ 68/155] rust-srpm-macros-0:26.3-3.fc4 100% |   0.0   B/s |  12.1 KiB |  00m00s
[ 69/155] zig-srpm-macros-0:1-3.fc41.no 100% |   7.9 MiB/s |   8.1 KiB |  00m00s
[ 70/155] zip-0:3.0-42.fc42.aarch64     100% | 124.5 MiB/s | 255.1 KiB |  00m00s
[ 71/155] ncurses-base-0:6.5-2.20240629 100% |  43.1 MiB/s |  88.4 KiB |  00m00s
[ 72/155] fedora-gpg-keys-0:42-0.3.noar 100% |  65.2 MiB/s | 133.6 KiB |  00m00s
[ 73/155] fedora-repos-rawhide-0:42-0.3 100% |   8.6 MiB/s |   8.8 KiB |  00m00s
[ 74/155] pkgconf-0:2.3.0-1.fc42.aarch6 100% |   0.0   B/s |  45.2 KiB |  00m00s
[ 75/155] pkgconf-m4-0:2.3.0-1.fc42.noa 100% |   7.0 MiB/s |  14.3 KiB |  00m00s
[ 76/155] file-libs-0:5.45-8.fc42.aarch 100% | 185.9 MiB/s | 761.3 KiB |  00m00s
[ 77/155] lua-libs-0:5.4.7-1.fc42.aarch 100% |  42.2 MiB/s | 129.7 KiB |  00m00s
[ 78/155] libzstd-0:1.5.6-2.fc41.aarch6 100% | 140.6 MiB/s | 288.0 KiB |  00m00s
[ 79/155] rpm-sequoia-0:1.7.0-3.fc42.aa 100% | 254.8 MiB/s | 782.6 KiB |  00m00s
[ 80/155] sqlite-libs-0:3.47.2-1.fc42.a 100% | 134.1 MiB/s | 686.5 KiB |  00m00s
[ 81/155] add-determinism-0:0.4.3-1.fc4 100% | 136.9 MiB/s | 841.1 KiB |  00m00s
[ 82/155] libpkgconf-0:2.3.0-1.fc42.aar 100% |   9.4 MiB/s |  38.4 KiB |  00m00s
[ 83/155] dwz-0:0.15-8.fc42.aarch64     100% |  44.1 MiB/s | 135.4 KiB |  00m00s
[ 84/155] basesystem-0:11-21.fc41.noarc 100% |   0.0   B/s |   7.4 KiB |  00m00s
[ 85/155] libselinux-0:3.8-0.rc3.1.fc42 100% |  88.6 MiB/s |  90.7 KiB |  00m00s
[ 86/155] libsepol-0:3.8-0.rc3.1.fc42.a 100% | 154.7 MiB/s | 316.9 KiB |  00m00s
[ 87/155] pcre2-0:10.44-1.fc42.1.aarch6 100% |  54.7 MiB/s | 223.9 KiB |  00m00s
[ 88/155] pcre2-syntax-0:10.44-1.fc42.1 100% |  36.7 MiB/s | 150.4 KiB |  00m00s
[ 89/155] glibc-common-0:2.40.9000-24.f 100% |  41.4 MiB/s | 381.2 KiB |  00m00s
[ 90/155] glibc-0:2.40.9000-24.fc42.aar 100% |  90.4 MiB/s |   1.8 MiB |  00m00s
[ 91/155] elfutils-libelf-0:0.192-7.fc4 100% |  28.7 MiB/s | 205.7 KiB |  00m00s
[ 92/155] libacl-0:2.3.2-2.fc42.aarch64 100% |   5.7 MiB/s |  23.4 KiB |  00m00s
[ 93/155] libcap-0:2.71-1.fc42.aarch64  100% |  19.1 MiB/s |  78.4 KiB |  00m00s
[ 94/155] coreutils-common-0:9.5-11.fc4 100% | 131.1 MiB/s |   2.1 MiB |  00m00s
[ 95/155] ca-certificates-0:2024.2.69_v 100% | 153.7 MiB/s | 944.5 KiB |  00m00s
[ 96/155] crypto-policies-0:20241128-1. 100% |  96.1 MiB/s |  98.4 KiB |  00m00s
[ 97/155] libffi-0:3.4.6-3.fc42.aarch64 100% |  37.4 MiB/s |  38.3 KiB |  00m00s
[ 98/155] openssl-libs-1:3.2.2-8.fc42.a 100% | 138.4 MiB/s |   2.1 MiB |  00m00s
[ 99/155] bzip2-libs-0:1.0.8-19.fc42.aa 100% |  13.9 MiB/s |  42.7 KiB |  00m00s
[100/155] lz4-libs-0:1.10.0-1.fc42.aarc 100% |  38.7 MiB/s |  79.3 KiB |  00m00s
[101/155] audit-libs-0:4.0.2-1.fc42.aar 100% |  30.3 MiB/s | 124.0 KiB |  00m00s
[102/155] authselect-libs-0:1.5.0-8.fc4 100% |  49.4 MiB/s | 202.3 KiB |  00m00s
[103/155] libcap-ng-0:0.8.5-3.fc42.aarc 100% |  30.2 MiB/s |  30.9 KiB |  00m00s
[104/155] pam-0:1.7.0-3.fc42.aarch64    100% | 114.7 MiB/s | 469.6 KiB |  00m00s
[105/155] gdbm-1:1.23-7.fc41.aarch64    100% | 148.0 MiB/s | 151.6 KiB |  00m00s
[106/155] gdbm-libs-1:1.23-7.fc41.aarch 100% |  54.9 MiB/s |  56.3 KiB |  00m00s
[107/155] libtirpc-0:1.3.6-1.fc42.aarch 100% |  46.6 MiB/s |  95.4 KiB |  00m00s
[108/155] libcom_err-0:1.47.1-6.fc42.aa 100% |  26.3 MiB/s |  26.9 KiB |  00m00s
[109/155] pam-libs-0:1.7.0-3.fc42.aarch 100% |   6.7 MiB/s |  54.7 KiB |  00m00s
[110/155] libeconf-0:0.7.5-1.fc42.aarch 100% |  16.6 MiB/s |  34.0 KiB |  00m00s
[111/155] libsemanage-0:3.8-0.rc3.1.fc4 100% | 109.7 MiB/s | 112.3 KiB |  00m00s
[112/155] elfutils-libs-0:0.192-7.fc42. 100% |  61.6 MiB/s | 252.4 KiB |  00m00s
[113/155] libgcc-0:15.0.0-0.2.fc42.aarc 100% | 787.8 KiB/s |  89.8 KiB |  00m00s
[114/155] binutils-0:2.43.50-9.fc42.aar 100% | 192.6 MiB/s |   6.0 MiB |  00m00s
[115/155] debugedit-0:5.1-2.fc42.aarch6 100% |  37.3 MiB/s |  76.5 KiB |  00m00s
[116/155] elfutils-0:0.192-7.fc42.aarch 100% | 160.7 MiB/s | 493.8 KiB |  00m00s
[117/155] libarchive-0:3.7.7-1.fc42.aar 100% | 129.9 MiB/s | 399.1 KiB |  00m00s
[118/155] curl-0:8.11.1-2.fc42.aarch64  100% |  70.7 MiB/s | 217.3 KiB |  00m00s
[119/155] krb5-libs-0:1.21.3-3.fc42.aar 100% | 118.4 MiB/s | 727.4 KiB |  00m00s
[120/155] libverto-0:0.3.2-9.fc41.aarch 100% |  20.5 MiB/s |  20.9 KiB |  00m00s
[121/155] mpfr-0:4.2.1-5.fc42.aarch64   100% |  63.1 MiB/s | 323.2 KiB |  00m00s
[122/155] p11-kit-0:0.25.5-4.fc42.aarch 100% |  99.1 MiB/s | 406.1 KiB |  00m00s
[123/155] p11-kit-trust-0:0.25.5-4.fc42 100% |  62.1 MiB/s | 127.1 KiB |  00m00s
[124/155] glibc-gconv-extra-0:2.40.9000 100% | 190.3 MiB/s |   1.5 MiB |  00m00s
[125/155] authselect-0:1.5.0-8.fc42.aar 100% |  45.7 MiB/s | 140.4 KiB |  00m00s
[126/155] libnsl2-0:2.0.1-2.fc42.aarch6 100% |  28.1 MiB/s |  28.8 KiB |  00m00s
[127/155] libpwquality-0:1.4.5-11.fc42. 100% |  50.9 MiB/s | 104.3 KiB |  00m00s
[128/155] alternatives-0:1.31-1.fc42.aa 100% |  37.6 MiB/s |  38.5 KiB |  00m00s
[129/155] libtasn1-0:4.19.0-9.fc42.aarc 100% |  35.1 MiB/s |  71.9 KiB |  00m00s
[130/155] cracklib-0:2.9.11-6.fc42.aarc 100% |  37.8 MiB/s |  77.5 KiB |  00m00s
[131/155] libxml2-0:2.12.8-2.fc42.aarch 100% | 160.4 MiB/s | 657.2 KiB |  00m00s
[132/155] keyutils-libs-0:1.6.3-4.fc42. 100% |  30.0 MiB/s |  30.8 KiB |  00m00s
[133/155] elfutils-default-yama-scope-0 100% |  12.7 MiB/s |  13.0 KiB |  00m00s
[134/155] elfutils-debuginfod-client-0: 100% |  43.0 MiB/s |  44.0 KiB |  00m00s
[135/155] jansson-0:2.14-1.fc42.aarch64 100% |  14.7 MiB/s |  45.2 KiB |  00m00s
[136/155] json-c-0:0.18-1.fc42.aarch64  100% |  41.8 MiB/s |  42.8 KiB |  00m00s
[137/155] fedora-release-0:42-0.11.noar 100% |  12.7 MiB/s |  13.0 KiB |  00m00s
[138/155] libgomp-0:15.0.0-0.2.fc42.aar 100% |   2.2 MiB/s | 322.1 KiB |  00m00s
[139/155] xxhash-libs-0:0.8.2-4.fc42.aa 100% |  33.8 MiB/s |  34.6 KiB |  00m00s
[140/155] fedora-release-identity-basic 100% |  13.5 MiB/s |  13.8 KiB |  00m00s
[141/155] libcurl-0:8.11.1-2.fc42.aarch 100% |  58.4 MiB/s | 358.9 KiB |  00m00s
[142/155] libstdc++-0:15.0.0-0.2.fc42.a 100% |   3.7 MiB/s | 760.1 KiB |  00m00s
[143/155] libnghttp2-0:1.64.0-1.fc42.aa 100% |  37.5 MiB/s |  76.8 KiB |  00m00s
[144/155] gdb-minimal-0:15.2-4.fc42.aar 100% | 145.4 MiB/s |   3.9 MiB |  00m00s
[145/155] libbrotli-0:1.1.0-5.fc42.aarc 100% |  55.4 MiB/s | 340.4 KiB |  00m00s
[146/155] libidn2-0:2.3.7-2.fc42.aarch6 100% |  18.2 MiB/s | 111.7 KiB |  00m00s
[147/155] libpsl-0:0.21.5-4.fc42.aarch6 100% |  31.1 MiB/s |  63.7 KiB |  00m00s
[148/155] publicsuffix-list-dafsa-0:202 100% |  56.9 MiB/s |  58.3 KiB |  00m00s
[149/155] libssh-0:0.11.1-1.fc42.aarch6 100% |  55.0 MiB/s | 225.4 KiB |  00m00s
[150/155] cyrus-sasl-lib-0:2.1.28-27.fc 100% | 190.5 MiB/s | 780.2 KiB |  00m00s
[151/155] openldap-0:2.6.8-6.fc42.aarch 100% |  47.0 MiB/s | 240.8 KiB |  00m00s
[152/155] libevent-0:2.1.12-14.fc42.aar 100% |  78.8 MiB/s | 242.2 KiB |  00m00s
[153/155] libssh-config-0:0.11.1-1.fc42 100% |   4.8 MiB/s |   9.9 KiB |  00m00s
[154/155] libtool-ltdl-0:2.5.4-1.fc42.a 100% |  16.7 MiB/s |  34.3 KiB |  00m00s
[155/155] libunistring-0:1.1-8.fc42.aar 100% | 104.9 MiB/s | 537.0 KiB |  00m00s
--------------------------------------------------------------------------------
[155/155] Total                         100% | 115.4 MiB/s |  50.2 MiB |  00m00s
Running transaction
Importing OpenPGP key 0x105EF944:
 UserID     : "Fedora (42) <fedora-42-primary@fedoraproject.org>"
 Fingerprint: B0F4950458F69E1150C6C5EDC8AC4916105EF944
 From       : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-42-primary
The key was successfully imported.
Importing OpenPGP key 0x105EF944:
 UserID     : "Fedora (42) <fedora-42-primary@fedoraproject.org>"
 Fingerprint: B0F4950458F69E1150C6C5EDC8AC4916105EF944
 From       : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-42-primary
The key was successfully imported.
Importing OpenPGP key 0xE99D6AD1:
 UserID     : "Fedora (41) <fedora-41-primary@fedoraproject.org>"
 Fingerprint: 466CF2D8B60BC3057AA9453ED0622462E99D6AD1
 From       : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-41-primary
The key was successfully imported.
Importing OpenPGP key 0x31645531:
 UserID     : "Fedora (43) <fedora-43-primary@fedoraproject.org>"
 Fingerprint: C6E7F081CF80E13146676E88829B606631645531
 From       : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-43-primary
The key was successfully imported.
[  1/157] Verify package files          100% | 685.0   B/s | 155.0   B |  00m00s
>>> Running pre-transaction scriptlet: filesystem-0:3.18-29.fc42.aarch64
>>> Finished pre-transaction scriptlet: filesystem-0:3.18-29.fc42.aarch64
>>> [RPM] /var/lib/mock/fedora-rawhide-aarch64-1734741474.003440/root/var/cache/
[  2/157] Prepare transaction           100% |   2.4 KiB/s | 155.0   B |  00m00s
[  3/157] Installing libgcc-0:15.0.0-0. 100% | 107.7 MiB/s | 220.5 KiB |  00m00s
[  4/157] Installing libssh-config-0:0. 100% |   0.0   B/s | 816.0   B |  00m00s
[  5/157] Installing publicsuffix-list- 100% |  66.7 MiB/s |  68.3 KiB |  00m00s
[  6/157] Installing fedora-release-ide 100% |   0.0   B/s | 976.0   B |  00m00s
[  7/157] Installing fedora-repos-rawhi 100% |   2.4 MiB/s |   2.4 KiB |  00m00s
[  8/157] Installing fedora-gpg-keys-0: 100% |  28.0 MiB/s | 172.2 KiB |  00m00s
[  9/157] Installing fedora-repos-0:42- 100% |   0.0   B/s |   5.7 KiB |  00m00s
[ 10/157] Installing fedora-release-com 100% |  23.6 MiB/s |  24.1 KiB |  00m00s
[ 11/157] Installing fedora-release-0:4 100% |   0.0   B/s | 124.0   B |  00m00s
[ 12/157] Installing setup-0:2.15.0-5.f 100% |  44.3 MiB/s | 726.1 KiB |  00m00s
>>> [RPM] /etc/hosts created as /etc/hosts.rpmnew
[ 13/157] Installing filesystem-0:3.18- 100% |   2.5 MiB/s | 212.6 KiB |  00m00s
[ 14/157] Installing basesystem-0:11-21 100% |   0.0   B/s | 124.0   B |  00m00s
[ 15/157] Installing coreutils-common-0 100% | 302.4 MiB/s |  11.2 MiB |  00m00s
[ 16/157] Installing pcre2-syntax-0:10. 100% | 248.1 MiB/s | 254.1 KiB |  00m00s
[ 17/157] Installing pkgconf-m4-0:2.3.0 100% |  14.5 MiB/s |  14.8 KiB |  00m00s
[ 18/157] Installing ncurses-base-0:6.5 100% |  49.1 MiB/s | 351.7 KiB |  00m00s
[ 19/157] Installing glibc-minimal-lang 100% |   0.0   B/s | 124.0   B |  00m00s
[ 20/157] Installing ncurses-libs-0:6.5 100% | 321.2 MiB/s |   2.2 MiB |  00m00s
[ 21/157] Installing glibc-0:2.40.9000- 100% | 261.5 MiB/s |   6.0 MiB |  00m00s
[ 22/157] Installing bash-0:5.2.37-1.fc 100% | 316.6 MiB/s |   8.2 MiB |  00m00s
[ 23/157] Installing glibc-common-0:2.4 100% | 163.8 MiB/s |   1.3 MiB |  00m00s
[ 24/157] Installing glibc-gconv-extra- 100% | 361.5 MiB/s |  18.4 MiB |  00m00s
[ 25/157] Installing zlib-ng-compat-0:2 100% | 131.5 MiB/s | 134.6 KiB |  00m00s
[ 26/157] Installing xz-libs-1:5.6.3-2. 100% | 261.2 MiB/s | 267.5 KiB |  00m00s
[ 27/157] Installing bzip2-libs-0:1.0.8 100% | 133.0 MiB/s | 136.2 KiB |  00m00s
[ 28/157] Installing readline-0:8.2-11. 100% | 245.9 MiB/s | 755.5 KiB |  00m00s
[ 29/157] Installing popt-0:1.19-7.fc41 100% |  68.2 MiB/s | 279.5 KiB |  00m00s
[ 30/157] Installing libuuid-0:2.40.2-8 100% | 194.0 MiB/s | 198.6 KiB |  00m00s
[ 31/157] Installing libblkid-0:2.40.2- 100% | 204.9 MiB/s | 419.7 KiB |  00m00s
[ 32/157] Installing gmp-1:6.3.0-2.fc41 100% | 235.8 MiB/s | 724.2 KiB |  00m00s
[ 33/157] Installing libattr-0:2.5.2-4. 100% | 192.9 MiB/s | 197.5 KiB |  00m00s
[ 34/157] Installing libacl-0:2.3.2-2.f 100% |  65.5 MiB/s |  67.1 KiB |  00m00s
[ 35/157] Installing libxcrypt-0:4.4.36 100% | 133.9 MiB/s | 274.2 KiB |  00m00s
[ 36/157] Installing libzstd-0:1.5.6-2. 100% | 259.5 MiB/s | 797.3 KiB |  00m00s
[ 37/157] Installing elfutils-libelf-0: 100% | 296.6 MiB/s |   1.2 MiB |  00m00s
[ 38/157] Installing libstdc++-0:15.0.0 100% | 300.0 MiB/s |   2.7 MiB |  00m00s
[ 39/157] Installing gdbm-libs-1:1.23-7 100% | 208.8 MiB/s | 427.7 KiB |  00m00s
[ 40/157] Installing libeconf-0:0.7.5-1 100% |  78.5 MiB/s |  80.3 KiB |  00m00s
[ 41/157] Installing dwz-0:0.15-8.fc42. 100% | 156.7 MiB/s | 321.0 KiB |  00m00s
[ 42/157] Installing mpfr-0:4.2.1-5.fc4 100% | 244.1 MiB/s | 749.9 KiB |  00m00s
[ 43/157] Installing gawk-0:5.3.0-4.fc4 100% | 387.6 MiB/s |   4.3 MiB |  00m00s
[ 44/157] Installing unzip-0:6.0-65.fc4 100% | 570.7 MiB/s |   2.3 MiB |  00m00s
[ 45/157] Installing file-libs-0:5.45-8 100% | 586.0 MiB/s |  10.0 MiB |  00m00s
[ 46/157] Installing file-0:5.45-8.fc42 100% |  15.3 MiB/s | 141.0 KiB |  00m00s
[ 47/157] Installing crypto-policies-0: 100% |  20.0 MiB/s | 163.7 KiB |  00m00s
[ 48/157] Installing libsmartcols-0:2.4 100% | 141.4 MiB/s | 289.7 KiB |  00m00s
[ 49/157] Installing lua-libs-0:5.4.7-1 100% | 192.5 MiB/s | 394.3 KiB |  00m00s
[ 50/157] Installing libsepol-0:3.8-0.r 100% | 259.5 MiB/s | 797.2 KiB |  00m00s
[ 51/157] Installing pcre2-0:10.44-1.fc 100% | 315.4 MiB/s | 645.9 KiB |  00m00s
[ 52/157] Installing libselinux-0:3.8-0 100% |  96.1 MiB/s | 196.8 KiB |  00m00s
[ 53/157] Installing sed-0:4.9-3.fc41.a 100% | 164.3 MiB/s |   1.0 MiB |  00m00s
[ 54/157] Installing findutils-1:4.10.0 100% | 212.6 MiB/s |   1.9 MiB |  00m00s
[ 55/157] Installing grep-0:3.11-9.fc42 100% | 147.3 MiB/s |   1.0 MiB |  00m00s
[ 56/157] Installing xz-1:5.6.3-2.fc42. 100% | 188.8 MiB/s |   1.5 MiB |  00m00s
[ 57/157] Installing libmount-0:2.40.2- 100% | 236.8 MiB/s | 485.1 KiB |  00m00s
[ 58/157] Installing libffi-0:3.4.6-3.f 100% | 277.2 MiB/s | 283.8 KiB |  00m00s
[ 59/157] Installing lz4-libs-0:1.10.0- 100% | 192.0 MiB/s | 196.6 KiB |  00m00s
[ 60/157] Installing libcap-ng-0:0.8.5- 100% | 156.8 MiB/s | 160.6 KiB |  00m00s
[ 61/157] Installing audit-libs-0:4.0.2 100% | 203.8 MiB/s | 417.3 KiB |  00m00s
[ 62/157] Installing pam-libs-0:1.7.0-3 100% | 215.9 MiB/s | 221.1 KiB |  00m00s
[ 63/157] Installing libcap-0:2.71-1.fc 100% | 163.9 MiB/s | 503.5 KiB |  00m00s
[ 64/157] Installing systemd-libs-0:257 100% | 269.1 MiB/s |   2.4 MiB |  00m00s
[ 65/157] Installing libcom_err-0:1.47. 100% | 234.8 MiB/s | 240.4 KiB |  00m00s
[ 66/157] Installing alternatives-0:1.3 100% |  88.2 MiB/s |  90.3 KiB |  00m00s
[ 67/157] Installing libtasn1-0:4.19.0- 100% | 107.2 MiB/s | 219.5 KiB |  00m00s
[ 68/157] Installing p11-kit-0:0.25.5-4 100% | 212.7 MiB/s |   2.3 MiB |  00m00s
[ 69/157] Installing libunistring-0:1.1 100% | 290.3 MiB/s |   1.7 MiB |  00m00s
[ 70/157] Installing libidn2-0:2.3.7-2. 100% | 108.6 MiB/s | 333.6 KiB |  00m00s
[ 71/157] Installing libpsl-0:0.21.5-4. 100% | 129.2 MiB/s | 132.3 KiB |  00m00s
[ 72/157] Installing p11-kit-trust-0:0. 100% |  44.8 MiB/s | 458.4 KiB |  00m00s
[ 73/157] Installing openssl-libs-1:3.2 100% | 260.8 MiB/s |   6.3 MiB |  00m00s
[ 74/157] Installing coreutils-0:9.5-11 100% | 247.9 MiB/s |   7.9 MiB |  00m00s
[ 75/157] Installing ca-certificates-0: 100% |   1.4 MiB/s |   2.4 MiB |  00m02s
[ 76/157] Installing gzip-0:1.13-2.fc42 100% | 104.6 MiB/s | 428.3 KiB |  00m00s
[ 77/157] Installing authselect-libs-0: 100% | 122.8 MiB/s | 880.5 KiB |  00m00s
[ 78/157] Installing cracklib-0:2.9.11- 100% |  83.8 MiB/s | 429.0 KiB |  00m00s
[ 79/157] Installing libpwquality-0:1.4 100% | 100.4 MiB/s | 617.1 KiB |  00m00s
[ 80/157] Installing rpm-sequoia-0:1.7. 100% | 277.8 MiB/s |   2.2 MiB |  00m00s
[ 81/157] Installing libevent-0:2.1.12- 100% | 213.9 MiB/s |   1.1 MiB |  00m00s
[ 82/157] Installing util-linux-core-0: 100% | 387.7 MiB/s |   6.2 MiB |  00m00s
[ 83/157] Installing libsemanage-0:3.8- 100% | 115.6 MiB/s | 355.0 KiB |  00m00s
[ 84/157] Installing shadow-utils-2:4.1 100% | 175.5 MiB/s |   4.6 MiB |  00m00s
[ 85/157] Installing zstd-0:1.5.6-2.fc4 100% | 281.8 MiB/s |   1.7 MiB |  00m00s
[ 86/157] Installing tar-2:1.35-4.fc41. 100% | 255.6 MiB/s |   3.1 MiB |  00m00s
[ 87/157] Installing zip-0:3.0-42.fc42. 100% | 185.4 MiB/s | 759.6 KiB |  00m00s
[ 88/157] Installing gdbm-1:1.23-7.fc41 100% | 227.9 MiB/s | 933.4 KiB |  00m00s
[ 89/157] Installing cyrus-sasl-lib-0:2 100% | 345.2 MiB/s |   3.1 MiB |  00m00s
[ 90/157] Installing libfdisk-0:2.40.2- 100% | 236.3 MiB/s | 483.9 KiB |  00m00s
[ 91/157] Installing bzip2-0:1.0.8-19.f 100% |  84.6 MiB/s | 173.2 KiB |  00m00s
[ 92/157] Installing libxml2-0:2.12.8-2 100% | 265.9 MiB/s |   1.9 MiB |  00m00s
[ 93/157] Installing libarchive-0:3.7.7 100% | 220.0 MiB/s | 901.2 KiB |  00m00s
[ 94/157] Installing sqlite-libs-0:3.47 100% | 235.8 MiB/s |   1.4 MiB |  00m00s
[ 95/157] Installing rpm-libs-0:4.20.0- 100% | 260.2 MiB/s | 799.4 KiB |  00m00s
[ 96/157] Installing add-determinism-0: 100% | 299.6 MiB/s |   2.1 MiB |  00m00s
[ 97/157] Installing build-reproducibil 100% |   0.0   B/s |   1.0 KiB |  00m00s
[ 98/157] Installing ed-0:1.20.2-2.fc41 100% | 139.2 MiB/s | 285.1 KiB |  00m00s
[ 99/157] Installing patch-0:2.7.6-25.f 100% | 127.2 MiB/s | 260.5 KiB |  00m00s
[100/157] Installing filesystem-srpm-ma 100% |  35.9 MiB/s |  36.8 KiB |  00m00s
[101/157] Installing elfutils-default-y 100% | 291.9 KiB/s |   2.0 KiB |  00m00s
[102/157] Installing elfutils-libs-0:0. 100% | 179.8 MiB/s | 736.6 KiB |  00m00s
[103/157] Installing cpio-0:2.15-2.fc41 100% | 203.4 MiB/s |   1.2 MiB |  00m00s
[104/157] Installing diffutils-0:3.10-8 100% | 208.0 MiB/s |   1.7 MiB |  00m00s
[105/157] Installing libpkgconf-0:2.3.0 100% | 194.6 MiB/s | 199.2 KiB |  00m00s
[106/157] Installing pkgconf-0:2.3.0-1. 100% | 118.7 MiB/s | 243.1 KiB |  00m00s
[107/157] Installing pkgconf-pkg-config 100% |   1.7 MiB/s |   1.8 KiB |  00m00s
[108/157] Installing libgomp-0:15.0.0-0 100% | 245.3 MiB/s | 502.4 KiB |  00m00s
[109/157] Installing rpm-build-libs-0:4 100% | 257.4 MiB/s | 263.6 KiB |  00m00s
[110/157] Installing libverto-0:0.3.2-9 100% | 194.7 MiB/s | 199.3 KiB |  00m00s
[111/157] Installing keyutils-libs-0:1. 100% |  95.9 MiB/s |  98.2 KiB |  00m00s
[112/157] Installing krb5-libs-0:1.21.3 100% | 249.7 MiB/s |   2.5 MiB |  00m00s
[113/157] Installing libtirpc-0:1.3.6-1 100% | 104.8 MiB/s | 214.7 KiB |  00m00s
[114/157] Installing libnsl2-0:2.0.1-2. 100% |  91.2 MiB/s |  93.4 KiB |  00m00s
[115/157] Installing pam-0:1.7.0-3.fc42 100% | 201.7 MiB/s |   4.2 MiB |  00m00s
[116/157] Installing libssh-0:0.11.1-1. 100% | 188.1 MiB/s | 577.8 KiB |  00m00s
[117/157] Installing jansson-0:2.14-1.f 100% |  90.0 MiB/s |  92.2 KiB |  00m00s
[118/157] Installing json-c-0:0.18-1.fc 100% | 133.7 MiB/s | 137.0 KiB |  00m00s
[119/157] Installing xxhash-libs-0:0.8. 100% | 208.7 MiB/s | 213.7 KiB |  00m00s
[120/157] Installing libnghttp2-0:1.64. 100% | 257.1 MiB/s | 263.3 KiB |  00m00s
[121/157] Installing libbrotli-0:1.1.0- 100% | 221.3 MiB/s | 906.6 KiB |  00m00s
[122/157] Installing libtool-ltdl-0:2.5 100% |  91.0 MiB/s |  93.2 KiB |  00m00s
[123/157] Installing openldap-0:2.6.8-6 100% | 183.3 MiB/s | 750.8 KiB |  00m00s
[124/157] Installing libcurl-0:8.11.1-2 100% | 275.5 MiB/s | 846.3 KiB |  00m00s
[125/157] Installing elfutils-debuginfo 100% |  70.1 MiB/s | 143.6 KiB |  00m00s
[126/157] Installing binutils-0:2.43.50 100% | 314.0 MiB/s |  28.9 MiB |  00m00s
[127/157] Installing elfutils-0:0.192-7 100% | 275.8 MiB/s |   3.0 MiB |  00m00s
[128/157] Installing gdb-minimal-0:15.2 100% | 300.1 MiB/s |  12.6 MiB |  00m00s
[129/157] Installing debugedit-0:5.1-2. 100% | 119.2 MiB/s | 244.2 KiB |  00m00s
[130/157] Installing curl-0:8.11.1-2.fc 100% |  34.1 MiB/s | 454.4 KiB |  00m00s
[131/157] Installing rpm-0:4.20.0-1.fc4 100% | 146.0 MiB/s |   3.4 MiB |  00m00s
[132/157] Installing efi-srpm-macros-0: 100% |  40.2 MiB/s |  41.2 KiB |  00m00s
[133/157] Installing lua-srpm-macros-0: 100% |   0.0   B/s |   1.9 KiB |  00m00s
[134/157] Installing zig-srpm-macros-0: 100% |   0.0   B/s |   1.7 KiB |  00m00s
[135/157] Installing rust-srpm-macros-0 100% |   5.4 MiB/s |   5.6 KiB |  00m00s
[136/157] Installing qt6-srpm-macros-0: 100% |   0.0   B/s | 732.0   B |  00m00s
[137/157] Installing qt5-srpm-macros-0: 100% |   0.0   B/s | 776.0   B |  00m00s
[138/157] Installing perl-srpm-macros-0 100% |   0.0   B/s |   1.1 KiB |  00m00s
[139/157] Installing package-notes-srpm 100% |   0.0   B/s |   2.0 KiB |  00m00s
[140/157] Installing openblas-srpm-macr 100% |   0.0   B/s | 392.0   B |  00m00s
[141/157] Installing ocaml-srpm-macros- 100% |   0.0   B/s |   2.2 KiB |  00m00s
[142/157] Installing kernel-srpm-macros 100% |   0.0   B/s |   2.3 KiB |  00m00s
[143/157] Installing gnat-srpm-macros-0 100% |   0.0   B/s |   1.3 KiB |  00m00s
[144/157] Installing ghc-srpm-macros-0: 100% |   0.0   B/s |   1.0 KiB |  00m00s
[145/157] Installing fpc-srpm-macros-0: 100% |   0.0   B/s | 420.0   B |  00m00s
[146/157] Installing ansible-srpm-macro 100% |   0.0   B/s |  36.2 KiB |  00m00s
[147/157] Installing fonts-srpm-macros- 100% |  55.7 MiB/s |  57.0 KiB |  00m00s
[148/157] Installing forge-srpm-macros- 100% |  39.3 MiB/s |  40.3 KiB |  00m00s
[149/157] Installing go-srpm-macros-0:3 100% |  60.5 MiB/s |  62.0 KiB |  00m00s
[150/157] Installing python-srpm-macros 100% |  50.9 MiB/s |  52.2 KiB |  00m00s
[151/157] Installing redhat-rpm-config- 100% |  62.9 MiB/s | 193.2 KiB |  00m00s
[152/157] Installing rpm-build-0:4.20.0 100% | 349.3 MiB/s |   1.4 MiB |  00m00s
[153/157] Installing pyproject-srpm-mac 100% |   1.2 MiB/s |   2.5 KiB |  00m00s
[154/157] Installing util-linux-0:2.40. 100% | 346.0 MiB/s |  17.0 MiB |  00m00s
[155/157] Installing authselect-0:1.5.0 100% |  60.0 MiB/s | 184.3 KiB |  00m00s
[156/157] Installing which-0:2.21-42.fc 100% | 122.2 MiB/s | 250.4 KiB |  00m00s
[157/157] Installing info-0:7.1.1-2.fc4 100% | 277.0 KiB/s | 614.0 KiB |  00m02s
Warning: skipped OpenPGP checks for 63 packages from repositories: copr_base, https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch
Complete!
Finish: installing minimal buildroot with dnf5
Start: creating root cache
Finish: creating root cache
Finish: chroot init
INFO: Installed packages:
INFO: add-determinism-0.4.3-1.fc42.aarch64
alternatives-1.31-1.fc42.aarch64
ansible-srpm-macros-1-16.fc41.noarch
audit-libs-4.0.2-1.fc42.aarch64
authselect-1.5.0-8.fc42.aarch64
authselect-libs-1.5.0-8.fc42.aarch64
basesystem-11-21.fc41.noarch
bash-5.2.37-1.fc42.aarch64
binutils-2.43.50-9.fc42.aarch64
build-reproducibility-srpm-macros-0.4.3-1.fc42.noarch
bzip2-1.0.8-19.fc42.aarch64
bzip2-libs-1.0.8-19.fc42.aarch64
ca-certificates-2024.2.69_v8.0.401-3.fc42.noarch
coreutils-9.5-11.fc42.aarch64
coreutils-common-9.5-11.fc42.aarch64
cpio-2.15-2.fc41.aarch64
cracklib-2.9.11-6.fc42.aarch64
crypto-policies-20241128-1.gitbb7b0b0.fc42.noarch
curl-8.11.1-2.fc42.aarch64
cyrus-sasl-lib-2.1.28-27.fc41.aarch64
debugedit-5.1-2.fc42.aarch64
diffutils-3.10-8.fc42.aarch64
dwz-0.15-8.fc42.aarch64
ed-1.20.2-2.fc41.aarch64
efi-srpm-macros-5-13.fc42.noarch
elfutils-0.192-7.fc42.aarch64
elfutils-debuginfod-client-0.192-7.fc42.aarch64
elfutils-default-yama-scope-0.192-7.fc42.noarch
elfutils-libelf-0.192-7.fc42.aarch64
elfutils-libs-0.192-7.fc42.aarch64
fedora-gpg-keys-42-0.3.noarch
fedora-release-42-0.11.noarch
fedora-release-common-42-0.11.noarch
fedora-release-identity-basic-42-0.11.noarch
fedora-repos-42-0.3.noarch
fedora-repos-rawhide-42-0.3.noarch
file-5.45-8.fc42.aarch64
file-libs-5.45-8.fc42.aarch64
filesystem-3.18-29.fc42.aarch64
filesystem-srpm-macros-3.18-29.fc42.noarch
findutils-4.10.0-4.fc42.aarch64
fonts-srpm-macros-2.0.5-17.fc41.noarch
forge-srpm-macros-0.4.0-1.fc42.noarch
fpc-srpm-macros-1.3-13.fc41.noarch
gawk-5.3.0-4.fc41.aarch64
gdb-minimal-15.2-4.fc42.aarch64
gdbm-1.23-7.fc41.aarch64
gdbm-libs-1.23-7.fc41.aarch64
ghc-srpm-macros-1.9.2-1.fc42.noarch
glibc-2.40.9000-24.fc42.aarch64
glibc-common-2.40.9000-24.fc42.aarch64
glibc-gconv-extra-2.40.9000-24.fc42.aarch64
glibc-minimal-langpack-2.40.9000-24.fc42.aarch64
gmp-6.3.0-2.fc41.aarch64
gnat-srpm-macros-6-6.fc41.noarch
go-srpm-macros-3.6.0-5.fc42.noarch
gpg-pubkey-105ef944-65ca83d1
gpg-pubkey-31645531-66b6dccf
gpg-pubkey-e99d6ad1-64d2612c
grep-3.11-9.fc42.aarch64
gzip-1.13-2.fc42.aarch64
info-7.1.1-2.fc42.aarch64
jansson-2.14-1.fc42.aarch64
json-c-0.18-1.fc42.aarch64
kernel-srpm-macros-1.0-24.fc41.noarch
keyutils-libs-1.6.3-4.fc42.aarch64
krb5-libs-1.21.3-3.fc42.aarch64
libacl-2.3.2-2.fc42.aarch64
libarchive-3.7.7-1.fc42.aarch64
libattr-2.5.2-4.fc41.aarch64
libblkid-2.40.2-8.fc42.aarch64
libbrotli-1.1.0-5.fc42.aarch64
libcap-2.71-1.fc42.aarch64
libcap-ng-0.8.5-3.fc42.aarch64
libcom_err-1.47.1-6.fc42.aarch64
libcurl-8.11.1-2.fc42.aarch64
libeconf-0.7.5-1.fc42.aarch64
libevent-2.1.12-14.fc42.aarch64
libfdisk-2.40.2-8.fc42.aarch64
libffi-3.4.6-3.fc42.aarch64
libgcc-15.0.0-0.2.fc42.aarch64
libgomp-15.0.0-0.2.fc42.aarch64
libidn2-2.3.7-2.fc42.aarch64
libmount-2.40.2-8.fc42.aarch64
libnghttp2-1.64.0-1.fc42.aarch64
libnsl2-2.0.1-2.fc42.aarch64
libpkgconf-2.3.0-1.fc42.aarch64
libpsl-0.21.5-4.fc42.aarch64
libpwquality-1.4.5-11.fc42.aarch64
libselinux-3.8-0.rc3.1.fc42.aarch64
libsemanage-3.8-0.rc3.1.fc42.aarch64
libsepol-3.8-0.rc3.1.fc42.aarch64
libsmartcols-2.40.2-8.fc42.aarch64
libssh-0.11.1-1.fc42.aarch64
libssh-config-0.11.1-1.fc42.noarch
libstdc++-15.0.0-0.2.fc42.aarch64
libtasn1-4.19.0-9.fc42.aarch64
libtirpc-1.3.6-1.fc42.aarch64
libtool-ltdl-2.5.4-1.fc42.aarch64
libunistring-1.1-8.fc42.aarch64
libuuid-2.40.2-8.fc42.aarch64
libverto-0.3.2-9.fc41.aarch64
libxcrypt-4.4.36-11.fc42.aarch64
libxml2-2.12.8-2.fc42.aarch64
libzstd-1.5.6-2.fc41.aarch64
lua-libs-5.4.7-1.fc42.aarch64
lua-srpm-macros-1-14.fc41.noarch
lz4-libs-1.10.0-1.fc42.aarch64
mpfr-4.2.1-5.fc42.aarch64
ncurses-base-6.5-2.20240629.fc41.noarch
ncurses-libs-6.5-2.20240629.fc41.aarch64
ocaml-srpm-macros-10-3.fc41.noarch
openblas-srpm-macros-2-18.fc41.noarch
openldap-2.6.8-6.fc42.aarch64
openssl-libs-3.2.2-8.fc42.aarch64
p11-kit-0.25.5-4.fc42.aarch64
p11-kit-trust-0.25.5-4.fc42.aarch64
package-notes-srpm-macros-0.5-12.fc41.noarch
pam-1.7.0-3.fc42.aarch64
pam-libs-1.7.0-3.fc42.aarch64
patch-2.7.6-25.fc42.aarch64
pcre2-10.44-1.fc42.1.aarch64
pcre2-syntax-10.44-1.fc42.1.noarch
perl-srpm-macros-1-56.fc41.noarch
pkgconf-2.3.0-1.fc42.aarch64
pkgconf-m4-2.3.0-1.fc42.noarch
pkgconf-pkg-config-2.3.0-1.fc42.aarch64
popt-1.19-7.fc41.aarch64
publicsuffix-list-dafsa-20240107-4.fc41.noarch
pyproject-srpm-macros-1.16.3-1.fc42.noarch
python-srpm-macros-3.13-3.fc41.noarch
qt5-srpm-macros-5.15.15-1.fc42.noarch
qt6-srpm-macros-6.8.1-4.fc42.noarch
readline-8.2-11.fc42.aarch64
redhat-rpm-config-300-1.no_annobin.0.fc42.noarch
rpm-4.20.0-1.fc42.aarch64
rpm-build-4.20.0-1.fc42.aarch64
rpm-build-libs-4.20.0-1.fc42.aarch64
rpm-libs-4.20.0-1.fc42.aarch64
rpm-sequoia-1.7.0-3.fc42.aarch64
rust-srpm-macros-26.3-3.fc42.noarch
sed-4.9-3.fc41.aarch64
setup-2.15.0-5.fc41.noarch
shadow-utils-4.17.0~rc1-1.fc42.aarch64
sqlite-libs-3.47.2-1.fc42.aarch64
systemd-libs-257-1.fc42.aarch64
tar-1.35-4.fc41.aarch64
unzip-6.0-65.fc42.aarch64
util-linux-2.40.2-8.fc42.aarch64
util-linux-core-2.40.2-8.fc42.aarch64
which-2.21-42.fc41.aarch64
xxhash-libs-0.8.2-4.fc42.aarch64
xz-5.6.3-2.fc42.aarch64
xz-libs-5.6.3-2.fc42.aarch64
zig-srpm-macros-1-3.fc41.noarch
zip-3.0-42.fc42.aarch64
zlib-ng-compat-2.2.2-1.fc42.aarch64
zstd-1.5.6-2.fc41.aarch64
Start: buildsrpm
Start: rpmbuild -bs
Building target platforms: aarch64
Building for target aarch64
setting SOURCE_DATE_EPOCH=1721260800
Wrote: /builddir/build/SRPMS/perl-Clownfish-0.6.3-23.fc42.src.rpm
Finish: rpmbuild -bs
INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan
INFO: /var/lib/mock/fedora-rawhide-aarch64-1734741474.003440/root/var/log/dnf5.log
INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz
/bin/tar: Removing leading `/' from member names
Finish: buildsrpm
INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-6usdpy4c/perl-Clownfish/perl-Clownfish.spec) Config(child) 0 minutes 19 seconds
INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results
INFO: Cleaning up build root ('cleanup_on_success=True')
Start: clean chroot
INFO: unmounting tmpfs.
Finish: clean chroot
INFO: Start(/var/lib/copr-rpmbuild/results/perl-Clownfish-0.6.3-23.fc42.src.rpm)  Config(fedora-rawhide-aarch64)
Start(bootstrap): chroot init
INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-aarch64-bootstrap-1734741474.003440/root.
INFO: reusing tmpfs at /var/lib/mock/fedora-rawhide-aarch64-bootstrap-1734741474.003440/root.
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled package manager cache
Start(bootstrap): cleaning package manager metadata
Finish(bootstrap): cleaning package manager metadata
Finish(bootstrap): chroot init
Start: chroot init
INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-aarch64-1734741474.003440/root.
INFO: calling preinit hooks
INFO: enabled root cache
Start: unpacking root cache
Finish: unpacking root cache
INFO: enabled package manager cache
Start: cleaning package manager metadata
Finish: cleaning package manager metadata
INFO: enabled HW Info plugin
INFO: Buildroot is handled by package management downloaded with a bootstrap image:
  rpm-4.20.0-1.fc42.aarch64
  rpm-sequoia-1.7.0-3.fc42.aarch64
  dnf5-5.2.8.1-2.fc42.aarch64
  dnf5-plugins-5.2.8.1-2.fc42.aarch64
Finish: chroot init
Start: build phase for perl-Clownfish-0.6.3-23.fc42.src.rpm
Start: build setup for perl-Clownfish-0.6.3-23.fc42.src.rpm
Building target platforms: aarch64
Building for target aarch64
setting SOURCE_DATE_EPOCH=1721260800
Wrote: /builddir/build/SRPMS/perl-Clownfish-0.6.3-23.fc42.src.rpm
Updating and loading repositories:
 Copr repository                        100% | 102.5 KiB/s |   1.5 KiB |  00m00s
 fedora                                 100% | 116.4 KiB/s |  11.1 KiB |  00m00s
 Additional repo https_fedorapeople_org 100% |  21.8 KiB/s |   1.5 KiB |  00m00s
 Copr repository                        100% |  99.7 MiB/s |   6.6 MiB |  00m00s
Repositories loaded.
Package "findutils-1:4.10.0-4.fc42.aarch64" is already installed.

Package                       Arch    Version              Repository                                                             Size
Installing:
 gcc                          aarch64 15.0.0-0.2.fc42      https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch  97.8 MiB
 perl-Carp                    noarch  1.54-511.fc41        fedora                                                             46.6 KiB
 perl-Clownfish-CFC           aarch64 0.6.3-26.fc41        fedora                                                            683.4 KiB
 perl-Data-Dumper             aarch64 2.189-512.fc41       fedora                                                            263.8 KiB
 perl-DynaLoader              aarch64 1.56-512.fc42        copr_base                                                          32.1 KiB
 perl-Encode                  aarch64 4:3.21-511.fc41      fedora                                                              5.9 MiB
 perl-Exporter                noarch  5.78-511.fc41        fedora                                                             54.3 KiB
 perl-File-Copy               noarch  2.41-512.fc42        copr_base                                                          19.6 KiB
 perl-File-Find               noarch  1.44-512.fc42        copr_base                                                          41.9 KiB
 perl-File-Path               noarch  2.18-511.fc41        fedora                                                             63.5 KiB
 perl-PathTools               aarch64 3.91-511.fc41        fedora                                                            352.1 KiB
 perl-Scalar-List-Utils       aarch64 5:1.68-1.fc42        fedora                                                            281.0 KiB
 perl-Storable                aarch64 1:3.32-511.fc41      fedora                                                            372.5 KiB
 perl-Test-Simple             noarch  3:1.302204-1.fc42    fedora                                                              1.7 MiB
 perl-base                    noarch  2.27-512.fc42        copr_base                                                          12.5 KiB
 perl-blib                    noarch  1.07-512.fc42        copr_base                                                           3.2 KiB
 perl-devel                   aarch64 4:5.40.0-512.fc42    copr_base                                                           8.0 MiB
 perl-generators              noarch  1.16-6.fc41          fedora                                                             21.8 KiB
 perl-interpreter             aarch64 4:5.40.0-512.fc42    copr_base                                                         173.1 KiB
 perl-lib                     aarch64 0.65-512.fc42        copr_base                                                           8.5 KiB
 perl-libs                    aarch64 4:5.40.0-512.fc42    copr_base                                                           9.9 MiB
 perl-overload                noarch  1.37-512.fc42        copr_base                                                          71.5 KiB
Installing dependencies:
 annobin-docs                 noarch  12.79-1.fc42         copr_base                                                          98.6 KiB
 annobin-plugin-gcc           aarch64 12.79-1.fc42         copr_base                                                         997.2 KiB
 cmark-lib                    aarch64 0.30.3-6.fc42        copr_base                                                         265.7 KiB
 cpp                          aarch64 15.0.0-0.2.fc42      https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch  35.3 MiB
 expat                        aarch64 2.6.4-1.fc42         copr_base                                                         343.6 KiB
 gcc-c++                      aarch64 15.0.0-0.2.fc42      https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch  38.5 MiB
 gcc-plugin-annobin           aarch64 15.0.0-0.2.fc42      https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch  67.5 KiB
 glibc-devel                  aarch64 2.40.9000-24.fc42    copr_base                                                           2.2 MiB
 groff-base                   aarch64 1.23.0-7.fc42        copr_base                                                           4.1 MiB
 kernel-headers               aarch64 6.13.0-0.rc3.29.fc42 fedora                                                              6.4 MiB
 libasan                      aarch64 15.0.0-0.2.fc42      https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch   1.5 MiB
 libatomic                    aarch64 15.0.0-0.2.fc42      https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch  66.1 KiB
 libb2                        aarch64 0.98.1-12.fc42       copr_base                                                          72.8 KiB
 libmpc                       aarch64 1.3.1-6.fc42         copr_base                                                         149.9 KiB
 libstdc++-devel              aarch64 15.0.0-0.2.fc42      https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch  15.4 MiB
 libubsan                     aarch64 15.0.0-0.2.fc42      https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 460.6 KiB
 libxcrypt-devel              aarch64 4.4.36-11.fc42       fedora                                                             30.5 KiB
 make                         aarch64 1:4.4.1-9.fc42       copr_base                                                           1.8 MiB
 mpdecimal                    aarch64 2.5.1-16.fc42        copr_base                                                         259.9 KiB
 ncurses                      aarch64 6.5-2.20240629.fc41  fedora                                                              1.7 MiB
 perl-AutoLoader              noarch  5.74-512.fc42        copr_base                                                          20.5 KiB
 perl-AutoSplit               noarch  5.74-512.fc42        copr_base                                                          23.1 KiB
 perl-B                       aarch64 1.89-512.fc42        copr_base                                                         540.0 KiB
 perl-Benchmark               noarch  1.25-512.fc42        copr_base                                                          36.3 KiB
 perl-CPAN-Meta               noarch  2.150010-511.fc41    fedora                                                            592.2 KiB
 perl-CPAN-Meta-Requirements  noarch  2.143-9.fc41         fedora                                                             81.2 KiB
 perl-CPAN-Meta-YAML          noarch  0.020-1.fc42         fedora                                                             52.1 KiB
 perl-Class-Struct            noarch  0.68-512.fc42        copr_base                                                          25.4 KiB
 perl-Data-OptList            noarch  0.114-5.fc41         fedora                                                             50.1 KiB
 perl-Data-Section            noarch  0.200008-6.fc41      fedora                                                             42.7 KiB
 perl-Devel-PPPort            aarch64 3.72-512.fc41        fedora                                                            980.3 KiB
 perl-Digest                  noarch  1.20-511.fc41        fedora                                                             35.3 KiB
 perl-Digest-MD5              aarch64 2.59-5.fc41          fedora                                                            231.9 KiB
 perl-Errno                   aarch64 1.38-512.fc42        copr_base                                                           8.4 KiB
 perl-ExtUtils-CBuilder       noarch  1:0.280240-511.fc41  fedora                                                             96.9 KiB
 perl-ExtUtils-Command        noarch  2:7.70-512.fc41      fedora                                                              9.6 KiB
 perl-ExtUtils-Constant       noarch  0.25-512.fc42        copr_base                                                          85.8 KiB
 perl-ExtUtils-Install        noarch  2.22-511.fc41        fedora                                                             85.5 KiB
 perl-ExtUtils-MM-Utils       noarch  2:7.70-512.fc41      fedora                                                              2.9 KiB
 perl-ExtUtils-MakeMaker      noarch  2:7.70-512.fc41      fedora                                                            734.1 KiB
 perl-ExtUtils-Manifest       noarch  1:1.75-511.fc41      fedora                                                             84.8 KiB
 perl-ExtUtils-ParseXS        noarch  1:3.51-511.fc41      fedora                                                            399.7 KiB
 perl-Fcntl                   aarch64 1.18-512.fc42        copr_base                                                          92.0 KiB
 perl-Fedora-VSP              noarch  0.001-35.fc41        fedora                                                             39.7 KiB
 perl-File-Basename           noarch  2.86-512.fc42        copr_base                                                          14.0 KiB
 perl-File-Compare            noarch  1.100.800-512.fc42   copr_base                                                           5.6 KiB
 perl-File-Temp               noarch  1:0.231.100-511.fc41 fedora                                                            162.3 KiB
 perl-File-stat               noarch  1.14-512.fc42        copr_base                                                          12.5 KiB
 perl-FileHandle              noarch  2.05-512.fc42        copr_base                                                           9.3 KiB
 perl-Getopt-Long             noarch  1:2.58-2.fc41        fedora                                                            144.5 KiB
 perl-Getopt-Std              noarch  1.14-512.fc42        copr_base                                                          11.2 KiB
 perl-HTTP-Tiny               noarch  0.090-1.fc42         fedora                                                            154.4 KiB
 perl-I18N-LangTags           noarch  0.45-512.fc42        copr_base                                                          82.3 KiB
 perl-IO                      aarch64 1.55-512.fc42        copr_base                                                         189.9 KiB
 perl-IO-Socket-IP            noarch  0.43-1.fc42          fedora                                                            100.3 KiB
 perl-IO-Socket-SSL           noarch  2.089-1.fc42         fedora                                                            703.3 KiB
 perl-IPC-Cmd                 noarch  2:1.04-512.fc41      fedora                                                             84.9 KiB
 perl-IPC-Open3               noarch  1.22-512.fc42        copr_base                                                          22.5 KiB
 perl-JSON-PP                 noarch  1:4.16-512.fc41      fedora                                                            141.8 KiB
 perl-Locale-Maketext         noarch  1.33-512.fc41        fedora                                                            171.3 KiB
 perl-Locale-Maketext-Simple  noarch  1:0.21-512.fc42      copr_base                                                          12.8 KiB
 perl-MIME-Base32             noarch  1.303-21.fc41        fedora                                                             30.7 KiB
 perl-MIME-Base64             aarch64 3.16-511.fc41        fedora                                                            222.2 KiB
 perl-MRO-Compat              noarch  0.15-10.fc41         fedora                                                             43.0 KiB
 perl-Math-BigInt             noarch  1:2.0030.03-3.fc41   fedora                                                            957.7 KiB
 perl-Math-Complex            noarch  1.62-512.fc42        copr_base                                                          85.0 KiB
 perl-Module-Build            noarch  2:0.42.34-7.fc41     fedora                                                            654.2 KiB
 perl-Module-CoreList         noarch  1:5.20241120-1.fc42  fedora                                                              1.2 MiB
 perl-Module-Load             noarch  1:0.36-511.fc41      fedora                                                             14.9 KiB
 perl-Module-Load-Conditional noarch  0.74-511.fc41        fedora                                                             28.7 KiB
 perl-Module-Metadata         noarch  1.000038-511.fc41    fedora                                                             67.5 KiB
 perl-Net-SSLeay              aarch64 1.94-7.fc41          fedora                                                              1.4 MiB
 perl-POSIX                   aarch64 2.20-512.fc42        copr_base                                                         261.2 KiB
 perl-Package-Generator       noarch  1.106-32.fc41        fedora                                                             29.9 KiB
 perl-Params-Check            noarch  1:0.38-511.fc41      fedora                                                             27.6 KiB
 perl-Params-Util             aarch64 1.102-16.fc41        fedora                                                            230.7 KiB
 perl-Perl-OSType             noarch  1.010-512.fc41       fedora                                                             32.8 KiB
 perl-Pod-Escapes             noarch  1:1.07-511.fc41      fedora                                                             24.9 KiB
 perl-Pod-Html                noarch  1.35-512.fc42        copr_base                                                          42.2 KiB
 perl-Pod-Perldoc             noarch  3.28.01-512.fc41     fedora                                                            163.7 KiB
 perl-Pod-Simple              noarch  1:3.45-511.fc41      fedora                                                            560.9 KiB
 perl-Pod-Usage               noarch  4:2.03-511.fc41      fedora                                                             84.8 KiB
 perl-SelectSaver             noarch  1.02-512.fc42        copr_base                                                           2.2 KiB
 perl-Socket                  aarch64 4:2.038-511.fc41     fedora                                                            272.1 KiB
 perl-Software-License        noarch  0.104006-2.fc41      fedora                                                            502.0 KiB
 perl-Sub-Exporter            noarch  0.991-4.fc41         fedora                                                            194.9 KiB
 perl-Sub-Install             noarch  0.929-6.fc41         fedora                                                             35.9 KiB
 perl-Symbol                  noarch  1.09-512.fc42        copr_base                                                           6.8 KiB
 perl-Term-ANSIColor          noarch  5.01-512.fc41        fedora                                                             97.5 KiB
 perl-Term-Cap                noarch  1.18-511.fc41        fedora                                                             29.3 KiB
 perl-Term-Table              noarch  0.023-2.fc42         fedora                                                             77.7 KiB
 perl-Test-Harness            noarch  1:3.50-1.fc42        fedora                                                            559.6 KiB
 perl-Text-ParseWords         noarch  3.31-511.fc41        fedora                                                             13.6 KiB
 perl-Text-Tabs+Wrap          noarch  2024.001-511.fc41    fedora                                                             22.6 KiB
 perl-Text-Template           noarch  1.61-6.fc41          fedora                                                            112.4 KiB
 perl-Time-HiRes              aarch64 4:1.9777-511.fc41    fedora                                                            279.9 KiB
 perl-Time-Local              noarch  2:1.350-511.fc41     fedora                                                             69.0 KiB
 perl-URI                     noarch  5.31-1.fc42          fedora                                                            257.0 KiB
 perl-constant                noarch  1.33-512.fc41        fedora                                                             26.2 KiB
 perl-if                      noarch  0.61.000-512.fc42    copr_base                                                           5.8 KiB
 perl-inc-latest              noarch  2:0.500-29.fc41      fedora                                                             34.6 KiB
 perl-libnet                  noarch  3.15-512.fc41        fedora                                                            289.4 KiB
 perl-locale                  noarch  1.12-512.fc42        copr_base                                                           6.5 KiB
 perl-macros                  noarch  4:5.40.0-512.fc42    copr_base                                                           5.5 KiB
 perl-mro                     aarch64 1.29-512.fc42        copr_base                                                          80.5 KiB
 perl-overloading             noarch  0.02-512.fc42        copr_base                                                           4.8 KiB
 perl-parent                  noarch  1:0.244-1.fc42       fedora                                                             10.3 KiB
 perl-podlators               noarch  1:6.0.2-2.fc41       fedora                                                            317.5 KiB
 perl-threads                 aarch64 1:2.40-511.fc41      fedora                                                            263.2 KiB
 perl-vars                    noarch  1.05-512.fc42        copr_base                                                           3.9 KiB
 perl-version                 aarch64 9:0.99.33-1.fc42     fedora                                                            288.9 KiB
 python-pip-wheel             noarch  24.3.1-1.fc42        fedora                                                              1.2 MiB
 python3                      aarch64 3.13.1-2.fc42        fedora                                                             82.5 KiB
 python3-libs                 aarch64 3.13.1-2.fc42        fedora                                                             41.7 MiB
 python3-pyparsing            noarch  3.1.2-7.fc41         fedora                                                              1.0 MiB
 systemtap-sdt-devel          aarch64 5.2-1.fc42           fedora                                                            182.4 KiB
 systemtap-sdt-dtrace         aarch64 5.2-1.fc42           fedora                                                            179.0 KiB
 tzdata                       noarch  2024b-1.fc42         fedora                                                              1.6 MiB

Transaction Summary:
 Installing:       140 packages

Total size of inbound packages is 92 MiB. Need to download 92 MiB.
After this operation, 297 MiB extra will be used (install 297 MiB, remove 0 B).
[  1/140] perl-Carp-0:1.54-511.fc41.noa 100% |   2.6 MiB/s |  28.9 KiB |  00m00s
[  2/140] perl-Data-Dumper-0:2.189-512. 100% |  53.8 MiB/s |  55.1 KiB |  00m00s
[  3/140] perl-PathTools-0:3.91-511.fc4 100% |   6.1 MiB/s |  87.5 KiB |  00m00s
[  4/140] perl-Exporter-0:5.78-511.fc41 100% |  30.2 MiB/s |  30.9 KiB |  00m00s
[  5/140] perl-Encode-4:3.21-511.fc41.a 100% | 260.3 MiB/s |   1.0 MiB |  00m00s
[  6/140] perl-File-Path-0:2.18-511.fc4 100% |  11.5 MiB/s |  35.3 KiB |  00m00s
[  7/140] perl-Scalar-List-Utils-5:1.68 100% |  71.5 MiB/s |  73.2 KiB |  00m00s
[  8/140] perl-Storable-1:3.32-511.fc41 100% |  95.1 MiB/s |  97.4 KiB |  00m00s
[  9/140] perl-generators-0:1.16-6.fc41 100% |   8.0 MiB/s |  16.5 KiB |  00m00s
[ 10/140] perl-Test-Simple-3:1.302204-1 100% | 210.7 MiB/s | 863.0 KiB |  00m00s
[ 11/140] perl-Clownfish-CFC-0:0.6.3-26 100% |   6.0 MiB/s | 209.2 KiB |  00m00s
[ 12/140] perl-libs-4:5.40.0-512.fc42.a 100% | 181.5 MiB/s |   2.2 MiB |  00m00s
[ 13/140] perl-DynaLoader-0:1.56-512.fc 100% |   6.5 MiB/s |  26.5 KiB |  00m00s
[ 14/140] perl-File-Copy-0:2.41-512.fc4 100% |  20.1 MiB/s |  20.6 KiB |  00m00s
[ 15/140] perl-File-Find-0:1.44-512.fc4 100% |  25.2 MiB/s |  25.8 KiB |  00m00s
[ 16/140] perl-base-0:2.27-512.fc42.noa 100% |  16.3 MiB/s |  16.7 KiB |  00m00s
[ 17/140] perl-blib-0:1.07-512.fc42.noa 100% |  12.6 MiB/s |  12.9 KiB |  00m00s
[ 18/140] perl-lib-0:0.65-512.fc42.aarc 100% |  15.0 MiB/s |  15.4 KiB |  00m00s
[ 19/140] perl-overload-0:1.37-512.fc42 100% |  45.0 MiB/s |  46.0 KiB |  00m00s
[ 20/140] perl-devel-4:5.40.0-512.fc42. 100% | 244.0 MiB/s | 749.7 KiB |  00m00s
[ 21/140] perl-interpreter-4:5.40.0-512 100% |  17.5 MiB/s |  71.7 KiB |  00m00s
[ 22/140] perl-Devel-PPPort-0:3.72-512. 100% | 105.8 MiB/s | 216.7 KiB |  00m00s
[ 23/140] perl-ExtUtils-CBuilder-1:0.28 100% |  24.8 MiB/s |  50.7 KiB |  00m00s
[ 24/140] perl-ExtUtils-ParseXS-1:3.51- 100% | 182.9 MiB/s | 187.3 KiB |  00m00s
[ 25/140] perl-ExtUtils-MakeMaker-2:7.7 100% |  71.5 MiB/s | 292.9 KiB |  00m00s
[ 26/140] perl-constant-0:1.33-512.fc41 100% |  22.5 MiB/s |  23.0 KiB |  00m00s
[ 27/140] perl-Module-Build-2:0.42.34-7 100% |  82.0 MiB/s | 251.8 KiB |  00m00s
[ 28/140] perl-Getopt-Long-1:2.58-2.fc4 100% |  62.4 MiB/s |  63.9 KiB |  00m00s
[ 29/140] perl-MIME-Base64-0:3.16-511.f 100% |   0.0   B/s |  30.2 KiB |  00m00s
[ 30/140] perl-parent-1:0.244-1.fc42.no 100% |   0.0   B/s |  15.1 KiB |  00m00s
[ 31/140] perl-File-Temp-1:0.231.100-51 100% |  28.9 MiB/s |  59.1 KiB |  00m00s
[ 32/140] perl-JSON-PP-1:4.16-512.fc41. 100% |  32.3 MiB/s |  66.1 KiB |  00m00s
[ 33/140] perl-Term-ANSIColor-0:5.01-51 100% |   0.0   B/s |  47.7 KiB |  00m00s
[ 34/140] perl-Term-Table-0:0.023-2.fc4 100% |  41.9 MiB/s |  42.9 KiB |  00m00s
[ 35/140] perl-Time-HiRes-4:1.9777-511. 100% |  56.5 MiB/s |  57.8 KiB |  00m00s
[ 36/140] perl-threads-1:2.40-511.fc41. 100% |  56.0 MiB/s |  57.4 KiB |  00m00s
[ 37/140] perl-Fedora-VSP-0:0.001-35.fc 100% |  11.2 MiB/s |  23.0 KiB |  00m00s
[ 38/140] libxcrypt-devel-0:4.4.36-11.f 100% |  27.5 MiB/s |  28.1 KiB |  00m00s
[ 39/140] perl-ExtUtils-Install-0:2.22- 100% |   0.0   B/s |  43.6 KiB |  00m00s
[ 40/140] perl-Text-Tabs+Wrap-0:2024.00 100% |   0.0   B/s |  21.9 KiB |  00m00s
[ 41/140] systemtap-sdt-devel-0:5.2-1.f 100% |  65.9 MiB/s |  67.5 KiB |  00m00s
[ 42/140] systemtap-sdt-dtrace-0:5.2-1. 100% |  66.5 MiB/s |  68.1 KiB |  00m00s
[ 43/140] perl-IPC-Cmd-2:1.04-512.fc41. 100% |  19.3 MiB/s |  39.6 KiB |  00m00s
[ 44/140] perl-Perl-OSType-0:1.010-512. 100% |  22.4 MiB/s |  22.9 KiB |  00m00s
[ 45/140] perl-Text-ParseWords-0:3.31-5 100% |  16.2 MiB/s |  16.6 KiB |  00m00s
[ 46/140] perl-ExtUtils-Command-2:7.70- 100% |   0.0   B/s |  14.1 KiB |  00m00s
[ 47/140] perl-ExtUtils-Manifest-1:1.75 100% |  33.3 MiB/s |  34.1 KiB |  00m00s
[ 48/140] perl-Test-Harness-1:3.50-1.fc 100% | 135.3 MiB/s | 277.0 KiB |  00m00s
[ 49/140] perl-podlators-1:6.0.2-2.fc41 100% | 125.8 MiB/s | 128.8 KiB |  00m00s
[ 50/140] perl-version-9:0.99.33-1.fc42 100% |  61.1 MiB/s |  62.5 KiB |  00m00s
[ 51/140] perl-CPAN-Meta-0:2.150010-511 100% |  62.1 MiB/s | 190.9 KiB |  00m00s
[ 52/140] perl-Module-Metadata-0:1.0000 100% |  34.4 MiB/s |  35.3 KiB |  00m00s
[ 53/140] perl-Software-License-0:0.104 100% |  49.2 MiB/s | 151.2 KiB |  00m00s
[ 54/140] perl-inc-latest-2:0.500-29.fc 100% |  11.4 MiB/s |  23.3 KiB |  00m00s
[ 55/140] perl-Pod-Usage-4:2.03-511.fc4 100% |  39.1 MiB/s |  40.0 KiB |  00m00s
[ 56/140] perl-Math-BigInt-1:2.0030.03- 100% | 220.4 MiB/s | 225.7 KiB |  00m00s
[ 57/140] python3-0:3.13.1-2.fc42.aarch 100% |  26.3 MiB/s |  26.9 KiB |  00m00s
[ 58/140] python3-pyparsing-0:3.1.2-7.f 100% | 270.9 MiB/s | 277.4 KiB |  00m00s
[ 59/140] perl-ExtUtils-MM-Utils-2:7.70 100% |  11.4 MiB/s |  11.6 KiB |  00m00s
[ 60/140] perl-Module-Load-Conditional- 100% |  21.5 MiB/s |  22.0 KiB |  00m00s
[ 61/140] perl-Params-Check-1:0.38-511. 100% |  21.3 MiB/s |  21.8 KiB |  00m00s
[ 62/140] perl-Socket-4:2.038-511.fc41. 100% |  54.2 MiB/s |  55.5 KiB |  00m00s
[ 63/140] perl-Pod-Simple-1:3.45-511.fc 100% | 106.9 MiB/s | 219.0 KiB |  00m00s
[ 64/140] perl-Term-Cap-0:1.18-511.fc41 100% |  21.6 MiB/s |  22.1 KiB |  00m00s
[ 65/140] perl-CPAN-Meta-Requirements-0 100% |  34.3 MiB/s |  35.1 KiB |  00m00s
[ 66/140] perl-CPAN-Meta-YAML-0:0.020-1 100% |  26.0 MiB/s |  26.6 KiB |  00m00s
[ 67/140] perl-Data-Section-0:0.200008- 100% |  24.4 MiB/s |  25.0 KiB |  00m00s
[ 68/140] perl-Module-Load-1:0.36-511.f 100% |   8.5 MiB/s |  17.4 KiB |  00m00s
[ 69/140] perl-Text-Template-0:1.61-6.f 100% |  57.8 MiB/s |  59.2 KiB |  00m00s
[ 70/140] perl-Pod-Perldoc-0:3.28.01-51 100% |  84.1 MiB/s |  86.1 KiB |  00m00s
[ 71/140] cpp-0:15.0.0-0.2.fc42.aarch64 100% |  41.9 MiB/s |  11.4 MiB |  00m00s
[ 72/140] python3-libs-0:3.13.1-2.fc42. 100% | 163.5 MiB/s |   8.8 MiB |  00m00s
[ 73/140] perl-Module-CoreList-1:5.2024 100% |  44.4 MiB/s |  91.0 KiB |  00m00s
[ 74/140] perl-Pod-Escapes-1:1.07-511.f 100% |  19.3 MiB/s |  19.8 KiB |  00m00s
[ 75/140] ncurses-0:6.5-2.20240629.fc41 100% | 137.6 MiB/s | 422.6 KiB |  00m00s
[ 76/140] perl-MRO-Compat-0:0.15-10.fc4 100% |  24.8 MiB/s |  25.4 KiB |  00m00s
[ 77/140] perl-Sub-Exporter-0:0.991-4.f 100% |  75.8 MiB/s |  77.7 KiB |  00m00s
[ 78/140] perl-HTTP-Tiny-0:0.090-1.fc42 100% |  55.1 MiB/s |  56.5 KiB |  00m00s
[ 79/140] libstdc++-devel-0:15.0.0-0.2. 100% |  85.3 MiB/s |   2.6 MiB |  00m00s
[ 80/140] python-pip-wheel-0:24.3.1-1.f 100% | 301.0 MiB/s |   1.2 MiB |  00m00s
[ 81/140] tzdata-0:2024b-1.fc42.noarch  100% | 174.0 MiB/s | 712.7 KiB |  00m00s
[ 82/140] perl-Data-OptList-0:0.114-5.f 100% |  26.3 MiB/s |  26.9 KiB |  00m00s
[ 83/140] perl-Package-Generator-0:1.10 100% |  22.0 MiB/s |  22.5 KiB |  00m00s
[ 84/140] perl-Params-Util-0:1.102-16.f 100% |  31.8 MiB/s |  32.5 KiB |  00m00s
[ 85/140] perl-Sub-Install-0:0.929-6.fc 100% |   0.0   B/s |  22.9 KiB |  00m00s
[ 86/140] perl-IO-Socket-SSL-0:2.089-1. 100% | 112.9 MiB/s | 231.2 KiB |  00m00s
[ 87/140] perl-Net-SSLeay-0:1.94-7.fc41 100% | 183.3 MiB/s | 375.4 KiB |  00m00s
[ 88/140] perl-Time-Local-2:1.350-511.f 100% |  33.7 MiB/s |  34.5 KiB |  00m00s
[ 89/140] perl-IO-Socket-IP-0:0.43-1.fc 100% |  41.2 MiB/s |  42.2 KiB |  00m00s
[ 90/140] perl-URI-0:5.31-1.fc42.noarch 100% | 137.3 MiB/s | 140.6 KiB |  00m00s
[ 91/140] perl-MIME-Base32-0:1.303-21.f 100% |  20.0 MiB/s |  20.5 KiB |  00m00s
[ 92/140] perl-libnet-0:3.15-512.fc41.n 100% |  62.7 MiB/s | 128.5 KiB |  00m00s
[ 93/140] perl-Digest-MD5-0:2.59-5.fc41 100% |  35.2 MiB/s |  36.1 KiB |  00m00s
[ 94/140] perl-Digest-0:1.20-511.fc41.n 100% |  24.3 MiB/s |  24.9 KiB |  00m00s
[ 95/140] perl-mro-0:1.29-512.fc42.aarc 100% |  14.0 MiB/s |  28.7 KiB |  00m00s
[ 96/140] perl-overloading-0:0.02-512.f 100% |  13.1 MiB/s |  13.4 KiB |  00m00s
[ 97/140] perl-ExtUtils-Constant-0:0.25 100% |  21.6 MiB/s |  44.2 KiB |  00m00s
[ 98/140] perl-File-Compare-0:1.100.800 100% |  13.4 MiB/s |  13.7 KiB |  00m00s
[ 99/140] perl-vars-0:1.05-512.fc42.noa 100% |   6.6 MiB/s |  13.5 KiB |  00m00s
[100/140] perl-File-Basename-0:2.86-512 100% |   5.7 MiB/s |  17.7 KiB |  00m00s
[101/140] libmpc-0:1.3.1-6.fc42.aarch64 100% |  22.8 MiB/s |  70.0 KiB |  00m00s
[102/140] glibc-devel-0:2.40.9000-24.fc 100% | 182.8 MiB/s | 561.6 KiB |  00m00s
[103/140] kernel-headers-0:6.13.0-0.rc3 100% | 230.3 MiB/s |   1.6 MiB |  00m00s
[104/140] gcc-c++-0:15.0.0-0.2.fc42.aar 100% |  34.8 MiB/s |  13.6 MiB |  00m00s
[105/140] gcc-0:15.0.0-0.2.fc42.aarch64 100% |  65.8 MiB/s |  35.1 MiB |  00m01s
[106/140] libasan-0:15.0.0-0.2.fc42.aar 100% |   8.3 MiB/s | 456.3 KiB |  00m00s
[107/140] libatomic-0:15.0.0-0.2.fc42.a 100% | 459.2 KiB/s |  17.4 KiB |  00m00s
[108/140] expat-0:2.6.4-1.fc42.aarch64  100% | 104.6 MiB/s | 107.1 KiB |  00m00s
[109/140] make-1:4.4.1-9.fc42.aarch64   100% | 140.2 MiB/s | 574.2 KiB |  00m00s
[110/140] libb2-0:0.98.1-12.fc42.aarch6 100% |  12.1 MiB/s |  24.8 KiB |  00m00s
[111/140] mpdecimal-0:2.5.1-16.fc42.aar 100% |  42.4 MiB/s |  86.8 KiB |  00m00s
[112/140] perl-B-0:1.89-512.fc42.aarch6 100% |  85.9 MiB/s | 176.0 KiB |  00m00s
[113/140] perl-if-0:0.61.000-512.fc42.n 100% |   7.1 MiB/s |  14.5 KiB |  00m00s
[114/140] perl-POSIX-0:2.20-512.fc42.aa 100% |  31.4 MiB/s |  96.5 KiB |  00m00s
[115/140] perl-locale-0:1.12-512.fc42.n 100% |   6.9 MiB/s |  14.1 KiB |  00m00s
[116/140] perl-Errno-0:1.38-512.fc42.aa 100% |   7.5 MiB/s |  15.4 KiB |  00m00s
[117/140] perl-Fcntl-0:1.18-512.fc42.aa 100% |  14.4 MiB/s |  29.5 KiB |  00m00s
[118/140] perl-FileHandle-0:2.05-512.fc 100% |   7.8 MiB/s |  16.0 KiB |  00m00s
[119/140] perl-Symbol-0:1.09-512.fc42.n 100% |  14.4 MiB/s |  14.7 KiB |  00m00s
[120/140] perl-IO-0:1.55-512.fc42.aarch 100% |  37.7 MiB/s |  77.1 KiB |  00m00s
[121/140] perl-macros-4:5.40.0-512.fc42 100% |  12.5 MiB/s |  12.8 KiB |  00m00s
[122/140] perl-Benchmark-0:1.25-512.fc4 100% |  26.6 MiB/s |  27.2 KiB |  00m00s
[123/140] perl-IPC-Open3-0:1.22-512.fc4 100% |  21.8 MiB/s |  22.3 KiB |  00m00s
[124/140] libubsan-0:15.0.0-0.2.fc42.aa 100% |   8.4 MiB/s | 188.3 KiB |  00m00s
[125/140] perl-Locale-Maketext-Simple-1 100% |   8.8 MiB/s |  18.1 KiB |  00m00s
[126/140] groff-base-0:1.23.0-7.fc42.aa 100% | 167.9 MiB/s |   1.0 MiB |  00m00s
[127/140] perl-AutoLoader-0:5.74-512.fc 100% |  21.2 MiB/s |  21.7 KiB |  00m00s
[128/140] perl-Locale-Maketext-0:1.33-5 100% |  30.5 MiB/s |  93.8 KiB |  00m00s
[129/140] perl-Pod-Html-0:1.35-512.fc42 100% |  29.2 MiB/s |  29.9 KiB |  00m00s
[130/140] perl-Math-Complex-0:1.62-512. 100% |  22.7 MiB/s |  46.6 KiB |  00m00s
[131/140] perl-I18N-LangTags-0:0.45-512 100% |  25.8 MiB/s |  52.9 KiB |  00m00s
[132/140] perl-AutoSplit-0:5.74-512.fc4 100% |  21.6 MiB/s |  22.1 KiB |  00m00s
[133/140] perl-Getopt-Std-0:1.14-512.fc 100% |   7.9 MiB/s |  16.2 KiB |  00m00s
[134/140] perl-File-stat-0:1.14-512.fc4 100% |   8.6 MiB/s |  17.5 KiB |  00m00s
[135/140] perl-SelectSaver-0:1.02-512.f 100% |  11.9 MiB/s |  12.2 KiB |  00m00s
[136/140] perl-Class-Struct-0:0.68-512. 100% |  22.0 MiB/s |  22.5 KiB |  00m00s
[137/140] annobin-plugin-gcc-0:12.79-1. 100% | 190.7 MiB/s | 976.3 KiB |  00m00s
[138/140] annobin-docs-0:12.79-1.fc42.n 100% |  91.0 MiB/s |  93.2 KiB |  00m00s
[139/140] cmark-lib-0:0.30.3-6.fc42.aar 100% |   6.4 MiB/s |  91.9 KiB |  00m00s
[140/140] gcc-plugin-annobin-0:15.0.0-0 100% |   1.4 MiB/s |  30.8 KiB |  00m00s
--------------------------------------------------------------------------------
[140/140] Total                         100% | 118.1 MiB/s |  91.5 MiB |  00m01s
Running transaction
[  1/142] Verify package files          100% | 417.0   B/s | 140.0   B |  00m00s
[  2/142] Prepare transaction           100% |   1.9 KiB/s | 140.0   B |  00m00s
[  3/142] Installing libmpc-0:1.3.1-6.f 100% |  74.0 MiB/s | 151.5 KiB |  00m00s
[  4/142] Installing cpp-0:15.0.0-0.2.f 100% | 287.1 MiB/s |  35.3 MiB |  00m00s
[  5/142] Installing annobin-docs-0:12. 100% |  97.4 MiB/s |  99.7 KiB |  00m00s
[  6/142] Installing cmark-lib-0:0.30.3 100% |  26.0 MiB/s | 266.7 KiB |  00m00s
[  7/142] Installing groff-base-0:1.23. 100% | 153.8 MiB/s |   4.2 MiB |  00m00s
[  8/142] Installing mpdecimal-0:2.5.1- 100% | 127.5 MiB/s | 261.0 KiB |  00m00s
[  9/142] Installing libb2-0:0.98.1-12. 100% |  72.1 MiB/s |  73.9 KiB |  00m00s
[ 10/142] Installing expat-0:2.6.4-1.fc 100% | 168.8 MiB/s | 345.6 KiB |  00m00s
[ 11/142] Installing make-1:4.4.1-9.fc4 100% | 230.8 MiB/s |   1.8 MiB |  00m00s
[ 12/142] Installing libubsan-0:15.0.0- 100% | 225.3 MiB/s | 461.4 KiB |  00m00s
[ 13/142] Installing libatomic-0:15.0.0 100% |   0.0   B/s |  66.9 KiB |  00m00s
[ 14/142] Installing libasan-0:15.0.0-0 100% | 216.1 MiB/s |   1.5 MiB |  00m00s
[ 15/142] Installing kernel-headers-0:6 100% | 133.3 MiB/s |   6.5 MiB |  00m00s
[ 16/142] Installing glibc-devel-0:2.40 100% | 120.4 MiB/s |   2.3 MiB |  00m00s
[ 17/142] Installing libxcrypt-devel-0: 100% |  16.0 MiB/s |  32.9 KiB |  00m00s
[ 18/142] Installing gcc-0:15.0.0-0.2.f 100% | 308.6 MiB/s |  97.8 MiB |  00m00s
[ 19/142] Installing tzdata-0:2024b-1.f 100% |  39.2 MiB/s |   1.9 MiB |  00m00s
[ 20/142] Installing python-pip-wheel-0 100% | 155.5 MiB/s |   1.2 MiB |  00m00s
[ 21/142] Installing python3-libs-0:3.1 100% | 244.8 MiB/s |  42.1 MiB |  00m00s
[ 22/142] Installing python3-0:3.13.1-2 100% |  82.3 MiB/s |  84.3 KiB |  00m00s
[ 23/142] Installing python3-pyparsing- 100% | 247.2 MiB/s |   1.0 MiB |  00m00s
[ 24/142] Installing systemtap-sdt-dtra 100% |  88.0 MiB/s | 180.3 KiB |  00m00s
[ 25/142] Installing libstdc++-devel-0: 100% | 282.1 MiB/s |  15.5 MiB |  00m00s
[ 26/142] Installing gcc-c++-0:15.0.0-0 100% | 289.3 MiB/s |  38.5 MiB |  00m00s
[ 27/142] Installing ncurses-0:6.5-2.20 100% | 337.8 MiB/s |   1.7 MiB |  00m00s
[ 28/142] Installing perl-Digest-0:1.20 100% |  36.2 MiB/s |  37.1 KiB |  00m00s
[ 29/142] Installing perl-Digest-MD5-0: 100% | 228.3 MiB/s | 233.8 KiB |  00m00s
[ 30/142] Installing perl-B-0:1.89-512. 100% | 265.3 MiB/s | 543.4 KiB |  00m00s
[ 31/142] Installing perl-FileHandle-0: 100% |   0.0   B/s |   9.8 KiB |  00m00s
[ 32/142] Installing perl-MIME-Base32-0 100% |  31.4 MiB/s |  32.2 KiB |  00m00s
[ 33/142] Installing perl-Data-Dumper-0 100% | 259.4 MiB/s | 265.7 KiB |  00m00s
[ 34/142] Installing perl-libnet-0:3.15 100% | 143.9 MiB/s | 294.7 KiB |  00m00s
[ 35/142] Installing perl-IO-Socket-IP- 100% |  99.8 MiB/s | 102.2 KiB |  00m00s
[ 36/142] Installing perl-AutoLoader-0: 100% |  20.5 MiB/s |  20.9 KiB |  00m00s
[ 37/142] Installing perl-URI-0:5.31-1. 100% |  65.8 MiB/s | 269.6 KiB |  00m00s
[ 38/142] Installing perl-Text-Tabs+Wra 100% |  23.3 MiB/s |  23.9 KiB |  00m00s
[ 39/142] Installing perl-Time-Local-2: 100% |  68.9 MiB/s |  70.6 KiB |  00m00s
[ 40/142] Installing perl-Pod-Escapes-1 100% |  25.3 MiB/s |  25.9 KiB |  00m00s
[ 41/142] Installing perl-if-0:0.61.000 100% |   0.0   B/s |   6.2 KiB |  00m00s
[ 42/142] Installing perl-File-Path-0:2 100% |  63.0 MiB/s |  64.5 KiB |  00m00s
[ 43/142] Installing perl-locale-0:1.12 100% |   6.7 MiB/s |   6.9 KiB |  00m00s
[ 44/142] Installing perl-Net-SSLeay-0: 100% | 204.7 MiB/s |   1.4 MiB |  00m00s
[ 45/142] Installing perl-IO-Socket-SSL 100% | 230.3 MiB/s | 707.4 KiB |  00m00s
[ 46/142] Installing perl-Term-ANSIColo 100% |  96.9 MiB/s |  99.2 KiB |  00m00s
[ 47/142] Installing perl-Term-Cap-0:1. 100% |  29.9 MiB/s |  30.6 KiB |  00m00s
[ 48/142] Installing perl-File-Temp-1:0 100% | 160.2 MiB/s | 164.1 KiB |  00m00s
[ 49/142] Installing perl-POSIX-0:2.20- 100% | 128.2 MiB/s | 262.5 KiB |  00m00s
[ 50/142] Installing perl-HTTP-Tiny-0:0 100% | 152.8 MiB/s | 156.4 KiB |  00m00s
[ 51/142] Installing perl-Pod-Simple-1: 100% | 185.7 MiB/s | 570.5 KiB |  00m00s
[ 52/142] Installing perl-IPC-Open3-0:1 100% |   0.0   B/s |  23.3 KiB |  00m00s
[ 53/142] Installing perl-Class-Struct- 100% |   0.0   B/s |  25.9 KiB |  00m00s
[ 54/142] Installing perl-Socket-4:2.03 100% | 267.7 MiB/s | 274.1 KiB |  00m00s
[ 55/142] Installing perl-Symbol-0:1.09 100% |   0.0   B/s |   7.2 KiB |  00m00s
[ 56/142] Installing perl-SelectSaver-0 100% |   0.0   B/s |   2.6 KiB |  00m00s
[ 57/142] Installing perl-podlators-1:6 100% | 157.0 MiB/s | 321.4 KiB |  00m00s
[ 58/142] Installing perl-Pod-Perldoc-0 100% |  82.6 MiB/s | 169.3 KiB |  00m00s
[ 59/142] Installing perl-File-stat-0:1 100% |   0.0   B/s |  13.1 KiB |  00m00s
[ 60/142] Installing perl-base-0:2.27-5 100% |   0.0   B/s |  12.9 KiB |  00m00s
[ 61/142] Installing perl-Text-ParseWor 100% |   0.0   B/s |  14.6 KiB |  00m00s
[ 62/142] Installing perl-mro-0:1.29-51 100% |  79.7 MiB/s |  81.6 KiB |  00m00s
[ 63/142] Installing perl-overloading-0 100% |   0.0   B/s |   5.5 KiB |  00m00s
[ 64/142] Installing perl-Fcntl-0:1.18- 100% |  90.9 MiB/s |  93.1 KiB |  00m00s
[ 65/142] Installing perl-Pod-Usage-4:2 100% |  84.3 MiB/s |  86.3 KiB |  00m00s
[ 66/142] Installing perl-IO-0:1.55-512 100% |  94.8 MiB/s | 194.2 KiB |  00m00s
[ 67/142] Installing perl-Scalar-List-U 100% | 139.0 MiB/s | 284.7 KiB |  00m00s
[ 68/142] Installing perl-constant-0:1. 100% |  26.7 MiB/s |  27.4 KiB |  00m00s
[ 69/142] Installing perl-MIME-Base64-0 100% | 219.2 MiB/s | 224.4 KiB |  00m00s
[ 70/142] Installing perl-parent-1:0.24 100% |   0.0   B/s |  11.0 KiB |  00m00s
[ 71/142] Installing perl-overload-0:1. 100% |   0.0   B/s |  71.9 KiB |  00m00s
[ 72/142] Installing perl-vars-0:1.05-5 100% |   0.0   B/s |   4.3 KiB |  00m00s
[ 73/142] Installing perl-File-Basename 100% |   0.0   B/s |  14.6 KiB |  00m00s
[ 74/142] Installing perl-Errno-0:1.38- 100% |   0.0   B/s |   8.8 KiB |  00m00s
[ 75/142] Installing perl-Storable-1:3. 100% | 365.3 MiB/s | 374.1 KiB |  00m00s
[ 76/142] Installing perl-Getopt-Std-0: 100% |   0.0   B/s |  11.7 KiB |  00m00s
[ 77/142] Installing perl-Getopt-Long-1 100% | 143.8 MiB/s | 147.2 KiB |  00m00s
[ 78/142] Installing perl-Exporter-0:5. 100% |  54.3 MiB/s |  55.6 KiB |  00m00s
[ 79/142] Installing perl-DynaLoader-0: 100% |  31.7 MiB/s |  32.5 KiB |  00m00s
[ 80/142] Installing perl-PathTools-0:3 100% | 116.1 MiB/s | 356.6 KiB |  00m00s
[ 81/142] Installing perl-Encode-4:3.21 100% | 369.2 MiB/s |   5.9 MiB |  00m00s
[ 82/142] Installing perl-Carp-0:1.54-5 100% |  23.3 MiB/s |  47.7 KiB |  00m00s
[ 83/142] Installing perl-libs-4:5.40.0 100% | 208.1 MiB/s |  10.0 MiB |  00m00s
[ 84/142] Installing perl-interpreter-4 100% | 170.7 MiB/s | 174.8 KiB |  00m00s
[ 85/142] Installing perl-File-Find-0:1 100% |  41.5 MiB/s |  42.5 KiB |  00m00s
[ 86/142] Installing perl-version-9:0.9 100% | 142.4 MiB/s | 291.7 KiB |  00m00s
[ 87/142] Installing perl-File-Copy-0:2 100% |  19.7 MiB/s |  20.2 KiB |  00m00s
[ 88/142] Installing perl-ExtUtils-Pars 100% | 197.8 MiB/s | 405.1 KiB |  00m00s
[ 89/142] Installing perl-File-Compare- 100% |   6.0 MiB/s |   6.1 KiB |  00m00s
[ 90/142] Installing perl-ExtUtils-Mani 100% |  84.3 MiB/s |  86.3 KiB |  00m00s
[ 91/142] Installing perl-Module-Metada 100% |  67.4 MiB/s |  69.0 KiB |  00m00s
[ 92/142] Installing perl-Devel-PPPort- 100% | 319.9 MiB/s | 982.6 KiB |  00m00s
[ 93/142] Installing perl-Time-HiRes-4: 100% | 137.7 MiB/s | 282.0 KiB |  00m00s
[ 94/142] Installing perl-Perl-OSType-0 100% |  33.5 MiB/s |  34.3 KiB |  00m00s
[ 95/142] Installing perl-Module-Load-1 100% |  15.5 MiB/s |  15.9 KiB |  00m00s
[ 96/142] Installing perl-Params-Util-0 100% | 113.9 MiB/s | 233.2 KiB |  00m00s
[ 97/142] Installing perl-Sub-Install-0 100% |  36.3 MiB/s |  37.2 KiB |  00m00s
[ 98/142] Installing perl-Data-OptList- 100% |  51.0 MiB/s |  52.2 KiB |  00m00s
[ 99/142] Installing perl-ExtUtils-Comm 100% |   0.0   B/s |  10.2 KiB |  00m00s
[100/142] Installing perl-CPAN-Meta-Req 100% |  81.5 MiB/s |  83.4 KiB |  00m00s
[101/142] Installing perl-Module-CoreLi 100% | 390.1 MiB/s |   1.2 MiB |  00m00s
[102/142] Installing perl-macros-4:5.40 100% |   0.0   B/s |   5.8 KiB |  00m00s
[103/142] Installing perl-Pod-Html-0:1. 100% |  42.7 MiB/s |  43.8 KiB |  00m00s
[104/142] Installing perl-lib-0:0.65-51 100% |   0.0   B/s |   8.9 KiB |  00m00s
[105/142] Installing perl-Term-Table-0: 100% |  79.0 MiB/s |  80.9 KiB |  00m00s
[106/142] Installing perl-threads-1:2.4 100% | 129.5 MiB/s | 265.3 KiB |  00m00s
[107/142] Installing perl-Fedora-VSP-0: 100% |  39.6 MiB/s |  40.6 KiB |  00m00s
[108/142] Installing perl-ExtUtils-MM-U 100% |   0.0   B/s |   3.7 KiB |  00m00s
[109/142] Installing perl-CPAN-Meta-YAM 100% |  52.3 MiB/s |  53.5 KiB |  00m00s
[110/142] Installing perl-Text-Template 100% | 111.3 MiB/s | 114.0 KiB |  00m00s
[111/142] Installing perl-MRO-Compat-0: 100% |  43.8 MiB/s |  44.9 KiB |  00m00s
[112/142] Installing perl-Package-Gener 100% |  30.8 MiB/s |  31.6 KiB |  00m00s
[113/142] Installing perl-Sub-Exporter- 100% |  98.6 MiB/s | 201.9 KiB |  00m00s
[114/142] Installing perl-Data-Section- 100% |  43.0 MiB/s |  44.1 KiB |  00m00s
[115/142] Installing perl-Software-Lice 100% | 125.6 MiB/s | 514.4 KiB |  00m00s
[116/142] Installing perl-ExtUtils-Cons 100% |  85.5 MiB/s |  87.6 KiB |  00m00s
[117/142] Installing perl-Benchmark-0:1 100% |  35.9 MiB/s |  36.7 KiB |  00m00s
[118/142] Installing perl-Test-Harness- 100% |  81.3 MiB/s | 582.4 KiB |  00m00s
[119/142] Installing perl-Math-Complex- 100% |  83.8 MiB/s |  85.8 KiB |  00m00s
[120/142] Installing perl-Math-BigInt-1 100% | 234.8 MiB/s | 961.8 KiB |  00m00s
[121/142] Installing perl-JSON-PP-1:4.1 100% |  70.1 MiB/s | 143.6 KiB |  00m00s
[122/142] Installing perl-CPAN-Meta-0:2 100% |  99.9 MiB/s | 613.8 KiB |  00m00s
[123/142] Installing perl-I18N-LangTags 100% |  81.6 MiB/s |  83.6 KiB |  00m00s
[124/142] Installing perl-Locale-Makete 100% | 169.9 MiB/s | 173.9 KiB |  00m00s
[125/142] Installing perl-Locale-Makete 100% |  13.1 MiB/s |  13.5 KiB |  00m00s
[126/142] Installing perl-Params-Check- 100% |  27.9 MiB/s |  28.6 KiB |  00m00s
[127/142] Installing perl-Module-Load-C 100% |  29.2 MiB/s |  29.9 KiB |  00m00s
[128/142] Installing perl-IPC-Cmd-2:1.0 100% |  83.9 MiB/s |  85.9 KiB |  00m00s
[129/142] Installing perl-AutoSplit-0:5 100% |   0.0   B/s |  23.5 KiB |  00m00s
[130/142] Installing perl-ExtUtils-Inst 100% |  85.1 MiB/s |  87.2 KiB |  00m00s
[131/142] Installing perl-ExtUtils-Make 100% | 145.5 MiB/s | 744.8 KiB |  00m00s
[132/142] Installing perl-inc-latest-2: 100% |  35.5 MiB/s |  36.3 KiB |  00m00s
[133/142] Installing perl-Module-Build- 100% | 161.9 MiB/s | 663.2 KiB |  00m00s
[134/142] Installing systemtap-sdt-deve 100% | 179.6 MiB/s | 183.9 KiB |  00m00s
[135/142] Installing perl-devel-4:5.40. 100% | 447.4 MiB/s |   8.1 MiB |  00m00s
[136/142] Installing perl-ExtUtils-CBui 100% |  49.7 MiB/s | 101.7 KiB |  00m00s
[137/142] Installing perl-Clownfish-CFC 100% | 112.8 MiB/s | 692.9 KiB |  00m00s
[138/142] Installing perl-Test-Simple-3 100% | 104.4 MiB/s |   1.8 MiB |  00m00s
[139/142] Installing perl-generators-0: 100% |  22.6 MiB/s |  23.2 KiB |  00m00s
[140/142] Installing perl-blib-0:1.07-5 100% |   3.5 MiB/s |   3.6 KiB |  00m00s
[141/142] Installing gcc-plugin-annobin 100% |   4.2 MiB/s |  69.0 KiB |  00m00s
[142/142] Installing annobin-plugin-gcc 100% |   5.4 MiB/s | 998.9 KiB |  00m00s
Warning: skipped OpenPGP checks for 56 packages from repositories: copr_base, https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch
Complete!
Finish: build setup for perl-Clownfish-0.6.3-23.fc42.src.rpm
Start: rpmbuild perl-Clownfish-0.6.3-23.fc42.src.rpm
Building target platforms: aarch64
Building for target aarch64
setting SOURCE_DATE_EPOCH=1721260800
Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.F3MceX
+ umask 022
+ cd /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ test -d /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ /usr/bin/rm -rf /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ /usr/bin/mkdir -p /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ /usr/bin/mkdir -p /builddir/build/BUILD/perl-Clownfish-0.6.3-build/SPECPARTS
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.5UmnF8
+ umask 022
+ cd /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ cd /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ rm -rf Clownfish-0.6.3
+ /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/Clownfish-0.6.3.tar.gz
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd Clownfish-0.6.3
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.Zm1xTz
+ umask 022
+ cd /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer '
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer '
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn'
+ export RUSTFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd Clownfish-0.6.3
+ perl Build.PL installdirs=vendor 'optimize=-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer'
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Clownfish' version '0.6.3'
+ ./Build
Building Clownfish
Parsing Clownfish files...
Writing Clownfish autogenerated files...
Writing typemap...

Compiling ./charmonizer...


Running ./charmonizer...

./charmonizer --cc=gcc --host=perl --enable-c --enable-perl --make=make --enable-makefile -- -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE
Initializing Charmonizer/Core/OperatingSystem...
Detected POSIX shell
Creating compiler object...
Trying to compile and execute a small test file...
Detected binary format: ELF
Initialization complete.
Running BuildEnv module...
Running DirManip module...
Running Headers module...
Running AtomicOps module...
Running FuncMacro module...
Running Booleans module...
Running Integers module...
Running IntegerTypes module...
Running IntegerLimits module...
Running IntegerLiterals module...
Running IntegerFormatStrings module...
Running Floats module...
Running LargeFiles module...
Running Memory module...
Running VariadicMacros module...
Running LocalDefinitions module...
Creating Makefile...
Cleaning up...
Cleanup complete.
make core_objects
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish.c -c -o cfcore/Clownfish.o
In file included from autogen/include/Clownfish/Boolean.h:40,
                 from cfcore/Clownfish.c:17:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from cfcore/Clownfish.c:20:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/Blob.c -c -o cfcore/Clownfish/Blob.o
In file included from autogen/include/Clownfish/Class.h:40,
                 from cfcore/Clownfish/Blob.c:22:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from cfcore/Clownfish/Blob.c:24:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/Boolean.c -c -o cfcore/Clownfish/Boolean.o
In file included from autogen/include/Clownfish/Boolean.h:40,
                 from cfcore/Clownfish/Boolean.c:21:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from autogen/include/Clownfish/String.h:44,
                 from cfcore/Clownfish/Boolean.c:24:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/ByteBuf.c -c -o cfcore/Clownfish/ByteBuf.o
In file included from autogen/include/Clownfish/Class.h:40,
                 from cfcore/Clownfish/ByteBuf.c:24:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from cfcore/Clownfish/ByteBuf.c:27:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/CharBuf.c -c -o cfcore/Clownfish/CharBuf.o
In file included from autogen/include/Clownfish/CharBuf.h:40,
                 from cfcore/Clownfish/CharBuf.c:28:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from cfcore/Clownfish/CharBuf.c:30:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/Class.c -c -o cfcore/Clownfish/Class.o
In file included from autogen/include/Clownfish/Class.h:40,
                 from cfcore/Clownfish/Class.c:27:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from autogen/include/Clownfish/String.h:44,
                 from cfcore/Clownfish/Class.c:28:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/Err.c -c -o cfcore/Clownfish/Err.o
In file included from autogen/include/Clownfish/Err.h:47,
                 from cfcore/Clownfish/Err.c:27:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/Hash.c -c -o cfcore/Clownfish/Hash.o
In file included from autogen/include/Clownfish/Class.h:40,
                 from cfcore/Clownfish/Hash.c:23:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from autogen/include/Clownfish/String.h:44,
                 from cfcore/Clownfish/Hash.c:26:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/HashIterator.c -c -o cfcore/Clownfish/HashIterator.o
In file included from autogen/include/Clownfish/Class.h:40,
                 from cfcore/Clownfish/HashIterator.c:21:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from cfcore/Clownfish/HashIterator.c:22:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/LockFreeRegistry.c -c -o cfcore/Clownfish/LockFreeRegistry.o
In file included from cfcore/Clownfish/LockFreeRegistry.c:19:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from cfcore/Clownfish/LockFreeRegistry.c:21:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/Method.c -c -o cfcore/Clownfish/Method.o
In file included from autogen/include/Clownfish/Method.h:40,
                 from cfcore/Clownfish/Method.c:22:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from autogen/include/Clownfish/String.h:44,
                 from cfcore/Clownfish/Method.c:23:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/Num.c -c -o cfcore/Clownfish/Num.o
In file included from autogen/include/Clownfish/Num.h:40,
                 from cfcore/Clownfish/Num.c:25:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from autogen/include/Clownfish/String.h:44,
                 from cfcore/Clownfish/Num.c:26:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/Obj.c -c -o cfcore/Clownfish/Obj.o
In file included from cfcore/Clownfish/Obj.c:27:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from autogen/include/Clownfish/String.h:44,
                 from cfcore/Clownfish/Obj.c:28:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/PtrHash.c -c -o cfcore/Clownfish/PtrHash.o
In file included from autogen/include/Clownfish/Err.h:47,
                 from cfcore/Clownfish/PtrHash.c:24:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/String.c -c -o cfcore/Clownfish/String.o
In file included from autogen/include/Clownfish/Class.h:40,
                 from cfcore/Clownfish/String.c:26:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from autogen/include/Clownfish/String.h:44,
                 from cfcore/Clownfish/String.c:27:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
In file included from autogen/include/Clownfish/Class.h:35:
cfcore/Clownfish/String.c: In function ‘CFISH_Str_Hash_Sum_IMP’:
autogen/include/cfish_parcel.h:102:7: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
  102 |      ((_full_meth ## _t)cfish_method(_class, _full_meth ## _OFFSET))
      |       ^
autogen/include/cfish_parcel.h:252:36: note: in expansion of macro ‘CFISH_METHOD_PTR’
  252 |   #define METHOD_PTR               CFISH_METHOD_PTR
      |                                    ^~~~~~~~~~~~~~~~
cfcore/Clownfish/String.c:357:33: note: in expansion of macro ‘METHOD_PTR’
  357 |     const StrIter_Next_t next = METHOD_PTR(STRINGITERATOR, CFISH_StrIter_Next);
      |                                 ^~~~~~~~~~
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/Vector.c -c -o cfcore/Clownfish/Vector.o
In file included from autogen/include/Clownfish/Class.h:40,
                 from cfcore/Clownfish/Vector.c:23:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from cfcore/Clownfish/Vector.c:25:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/TestHarness/TestBatchRunner.c -c -o cfcore/Clownfish/TestHarness/TestBatchRunner.o
In file included from autogen/include/Clownfish/TestHarness/TestBatchRunner.h:40,
                 from cfcore/Clownfish/TestHarness/TestBatchRunner.c:26:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
In file included from autogen/include/Clownfish/String.h:44,
                 from cfcore/Clownfish/TestHarness/TestBatchRunner.c:28:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
In file included from cfcore/Clownfish/TestHarness/TestBatchRunner.c:30:
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
In file included from cfcore/Clownfish/TestHarness/TestBatchRunner.c:31:
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:173:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatter *, void *)’ [-Wcast-function-type]
  173 |     const CFISH_TestFormatter_To_Host_t method = (CFISH_TestFormatter_To_Host_t)cfish_obj_method(self, CFISH_TestFormatter_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:180:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatter *)’ [-Wcast-function-type]
  180 |     const CFISH_TestFormatter_Clone_t method = (CFISH_TestFormatter_Clone_t)cfish_obj_method(self, CFISH_TestFormatter_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:187:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatter *, cfish_Obj *)’ [-Wcast-function-type]
  187 |     const CFISH_TestFormatter_Equals_t method = (CFISH_TestFormatter_Equals_t)cfish_obj_method(self, CFISH_TestFormatter_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:194:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatter *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatter *, cfish_Obj *)’} [-Wcast-function-type]
  194 |     const CFISH_TestFormatter_Compare_To_t method = (CFISH_TestFormatter_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatter_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:208:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatter *)’ [-Wcast-function-type]
  208 |     const CFISH_TestFormatter_To_String_t method = (CFISH_TestFormatter_To_String_t)cfish_obj_method(self, CFISH_TestFormatter_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:215:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatter *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  215 |     const CFISH_TestFormatter_Batch_Prologue_t method = (CFISH_TestFormatter_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatter_Batch_Prologue_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:222:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatter *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  222 |     const CFISH_TestFormatter_VTest_Result_t method = (CFISH_TestFormatter_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Result_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:229:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatter *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  229 |     const CFISH_TestFormatter_VTest_Skip_t method = (CFISH_TestFormatter_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Skip_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:236:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, const char *, va_list)’ [-Wcast-function-type]
  236 |     const CFISH_TestFormatter_VTest_Comment_t method = (CFISH_TestFormatter_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Comment_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:243:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, const char *, va_list)’ [-Wcast-function-type]
  243 |     const CFISH_TestFormatter_VBatch_Comment_t method = (CFISH_TestFormatter_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatter_VBatch_Comment_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:250:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  250 |     const CFISH_TestFormatter_Summary_t method = (CFISH_TestFormatter_Summary_t)cfish_obj_method(self, CFISH_TestFormatter_Summary_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:459:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatterCF *, void *)’ [-Wcast-function-type]
  459 |     const CFISH_TestFormatterCF_To_Host_t method = (CFISH_TestFormatterCF_To_Host_t)cfish_obj_method(self, CFISH_TestFormatterCF_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:466:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatterCF *)’ [-Wcast-function-type]
  466 |     const CFISH_TestFormatterCF_Clone_t method = (CFISH_TestFormatterCF_Clone_t)cfish_obj_method(self, CFISH_TestFormatterCF_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:473:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatterCF *, cfish_Obj *)’ [-Wcast-function-type]
  473 |     const CFISH_TestFormatterCF_Equals_t method = (CFISH_TestFormatterCF_Equals_t)cfish_obj_method(self, CFISH_TestFormatterCF_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:480:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatterCF *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatterCF *, cfish_Obj *)’} [-Wcast-function-type]
  480 |     const CFISH_TestFormatterCF_Compare_To_t method = (CFISH_TestFormatterCF_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatterCF_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:494:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatterCF *)’ [-Wcast-function-type]
  494 |     const CFISH_TestFormatterCF_To_String_t method = (CFISH_TestFormatterCF_To_String_t)cfish_obj_method(self, CFISH_TestFormatterCF_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:501:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatterCF *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  501 |     const CFISH_TestFormatterCF_Batch_Prologue_t method = (CFISH_TestFormatterCF_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatterCF_Batch_Prologue_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:508:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterCF *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  508 |     const CFISH_TestFormatterCF_VTest_Result_t method = (CFISH_TestFormatterCF_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Result_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:515:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterCF *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  515 |     const CFISH_TestFormatterCF_VTest_Skip_t method = (CFISH_TestFormatterCF_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Skip_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:522:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, const char *, va_list)’ [-Wcast-function-type]
  522 |     const CFISH_TestFormatterCF_VTest_Comment_t method = (CFISH_TestFormatterCF_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Comment_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:529:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, const char *, va_list)’ [-Wcast-function-type]
  529 |     const CFISH_TestFormatterCF_VBatch_Comment_t method = (CFISH_TestFormatterCF_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatterCF_VBatch_Comment_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:536:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  536 |     const CFISH_TestFormatterCF_Summary_t method = (CFISH_TestFormatterCF_Summary_t)cfish_obj_method(self, CFISH_TestFormatterCF_Summary_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:725:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatterTAP *, void *)’ [-Wcast-function-type]
  725 |     const CFISH_TestFormatterTAP_To_Host_t method = (CFISH_TestFormatterTAP_To_Host_t)cfish_obj_method(self, CFISH_TestFormatterTAP_To_Host_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:732:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatterTAP *)’ [-Wcast-function-type]
  732 |     const CFISH_TestFormatterTAP_Clone_t method = (CFISH_TestFormatterTAP_Clone_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Clone_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:739:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatterTAP *, cfish_Obj *)’ [-Wcast-function-type]
  739 |     const CFISH_TestFormatterTAP_Equals_t method = (CFISH_TestFormatterTAP_Equals_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Equals_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:746:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatterTAP *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatterTAP *, cfish_Obj *)’} [-Wcast-function-type]
  746 |     const CFISH_TestFormatterTAP_Compare_To_t method = (CFISH_TestFormatterTAP_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Compare_To_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:760:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatterTAP *)’ [-Wcast-function-type]
  760 |     const CFISH_TestFormatterTAP_To_String_t method = (CFISH_TestFormatterTAP_To_String_t)cfish_obj_method(self, CFISH_TestFormatterTAP_To_String_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:767:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatterTAP *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  767 |     const CFISH_TestFormatterTAP_Batch_Prologue_t method = (CFISH_TestFormatterTAP_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Batch_Prologue_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:774:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterTAP *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  774 |     const CFISH_TestFormatterTAP_VTest_Result_t method = (CFISH_TestFormatterTAP_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Result_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:781:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterTAP *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  781 |     const CFISH_TestFormatterTAP_VTest_Skip_t method = (CFISH_TestFormatterTAP_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Skip_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:788:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, const char *, va_list)’ [-Wcast-function-type]
  788 |     const CFISH_TestFormatterTAP_VTest_Comment_t method = (CFISH_TestFormatterTAP_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Comment_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:795:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, const char *, va_list)’ [-Wcast-function-type]
  795 |     const CFISH_TestFormatterTAP_VBatch_Comment_t method = (CFISH_TestFormatterTAP_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VBatch_Comment_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:802:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  802 |     const CFISH_TestFormatterTAP_Summary_t method = (CFISH_TestFormatterTAP_Summary_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Summary_OFFSET);
      |                                                     ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/TestHarness/TestFormatter.c -c -o cfcore/Clownfish/TestHarness/TestFormatter.o
In file included from autogen/include/Clownfish/TestHarness/TestFormatter.h:40,
                 from cfcore/Clownfish/TestHarness/TestFormatter.c:22:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:173:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatter *, void *)’ [-Wcast-function-type]
  173 |     const CFISH_TestFormatter_To_Host_t method = (CFISH_TestFormatter_To_Host_t)cfish_obj_method(self, CFISH_TestFormatter_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:180:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatter *)’ [-Wcast-function-type]
  180 |     const CFISH_TestFormatter_Clone_t method = (CFISH_TestFormatter_Clone_t)cfish_obj_method(self, CFISH_TestFormatter_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:187:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatter *, cfish_Obj *)’ [-Wcast-function-type]
  187 |     const CFISH_TestFormatter_Equals_t method = (CFISH_TestFormatter_Equals_t)cfish_obj_method(self, CFISH_TestFormatter_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:194:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatter *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatter *, cfish_Obj *)’} [-Wcast-function-type]
  194 |     const CFISH_TestFormatter_Compare_To_t method = (CFISH_TestFormatter_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatter_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:208:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatter *)’ [-Wcast-function-type]
  208 |     const CFISH_TestFormatter_To_String_t method = (CFISH_TestFormatter_To_String_t)cfish_obj_method(self, CFISH_TestFormatter_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:215:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatter *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  215 |     const CFISH_TestFormatter_Batch_Prologue_t method = (CFISH_TestFormatter_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatter_Batch_Prologue_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:222:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatter *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  222 |     const CFISH_TestFormatter_VTest_Result_t method = (CFISH_TestFormatter_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Result_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:229:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatter *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  229 |     const CFISH_TestFormatter_VTest_Skip_t method = (CFISH_TestFormatter_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Skip_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:236:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, const char *, va_list)’ [-Wcast-function-type]
  236 |     const CFISH_TestFormatter_VTest_Comment_t method = (CFISH_TestFormatter_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Comment_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:243:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, const char *, va_list)’ [-Wcast-function-type]
  243 |     const CFISH_TestFormatter_VBatch_Comment_t method = (CFISH_TestFormatter_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatter_VBatch_Comment_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:250:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  250 |     const CFISH_TestFormatter_Summary_t method = (CFISH_TestFormatter_Summary_t)cfish_obj_method(self, CFISH_TestFormatter_Summary_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:459:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatterCF *, void *)’ [-Wcast-function-type]
  459 |     const CFISH_TestFormatterCF_To_Host_t method = (CFISH_TestFormatterCF_To_Host_t)cfish_obj_method(self, CFISH_TestFormatterCF_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:466:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatterCF *)’ [-Wcast-function-type]
  466 |     const CFISH_TestFormatterCF_Clone_t method = (CFISH_TestFormatterCF_Clone_t)cfish_obj_method(self, CFISH_TestFormatterCF_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:473:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatterCF *, cfish_Obj *)’ [-Wcast-function-type]
  473 |     const CFISH_TestFormatterCF_Equals_t method = (CFISH_TestFormatterCF_Equals_t)cfish_obj_method(self, CFISH_TestFormatterCF_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:480:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatterCF *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatterCF *, cfish_Obj *)’} [-Wcast-function-type]
  480 |     const CFISH_TestFormatterCF_Compare_To_t method = (CFISH_TestFormatterCF_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatterCF_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:494:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatterCF *)’ [-Wcast-function-type]
  494 |     const CFISH_TestFormatterCF_To_String_t method = (CFISH_TestFormatterCF_To_String_t)cfish_obj_method(self, CFISH_TestFormatterCF_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:501:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatterCF *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  501 |     const CFISH_TestFormatterCF_Batch_Prologue_t method = (CFISH_TestFormatterCF_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatterCF_Batch_Prologue_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:508:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterCF *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  508 |     const CFISH_TestFormatterCF_VTest_Result_t method = (CFISH_TestFormatterCF_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Result_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:515:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterCF *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  515 |     const CFISH_TestFormatterCF_VTest_Skip_t method = (CFISH_TestFormatterCF_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Skip_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:522:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, const char *, va_list)’ [-Wcast-function-type]
  522 |     const CFISH_TestFormatterCF_VTest_Comment_t method = (CFISH_TestFormatterCF_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Comment_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:529:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, const char *, va_list)’ [-Wcast-function-type]
  529 |     const CFISH_TestFormatterCF_VBatch_Comment_t method = (CFISH_TestFormatterCF_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatterCF_VBatch_Comment_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:536:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  536 |     const CFISH_TestFormatterCF_Summary_t method = (CFISH_TestFormatterCF_Summary_t)cfish_obj_method(self, CFISH_TestFormatterCF_Summary_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:725:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatterTAP *, void *)’ [-Wcast-function-type]
  725 |     const CFISH_TestFormatterTAP_To_Host_t method = (CFISH_TestFormatterTAP_To_Host_t)cfish_obj_method(self, CFISH_TestFormatterTAP_To_Host_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:732:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatterTAP *)’ [-Wcast-function-type]
  732 |     const CFISH_TestFormatterTAP_Clone_t method = (CFISH_TestFormatterTAP_Clone_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Clone_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:739:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatterTAP *, cfish_Obj *)’ [-Wcast-function-type]
  739 |     const CFISH_TestFormatterTAP_Equals_t method = (CFISH_TestFormatterTAP_Equals_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Equals_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:746:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatterTAP *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatterTAP *, cfish_Obj *)’} [-Wcast-function-type]
  746 |     const CFISH_TestFormatterTAP_Compare_To_t method = (CFISH_TestFormatterTAP_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Compare_To_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:760:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatterTAP *)’ [-Wcast-function-type]
  760 |     const CFISH_TestFormatterTAP_To_String_t method = (CFISH_TestFormatterTAP_To_String_t)cfish_obj_method(self, CFISH_TestFormatterTAP_To_String_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:767:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatterTAP *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  767 |     const CFISH_TestFormatterTAP_Batch_Prologue_t method = (CFISH_TestFormatterTAP_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Batch_Prologue_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:774:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterTAP *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  774 |     const CFISH_TestFormatterTAP_VTest_Result_t method = (CFISH_TestFormatterTAP_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Result_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:781:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterTAP *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  781 |     const CFISH_TestFormatterTAP_VTest_Skip_t method = (CFISH_TestFormatterTAP_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Skip_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:788:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, const char *, va_list)’ [-Wcast-function-type]
  788 |     const CFISH_TestFormatterTAP_VTest_Comment_t method = (CFISH_TestFormatterTAP_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Comment_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:795:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, const char *, va_list)’ [-Wcast-function-type]
  795 |     const CFISH_TestFormatterTAP_VBatch_Comment_t method = (CFISH_TestFormatterTAP_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VBatch_Comment_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:802:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  802 |     const CFISH_TestFormatterTAP_Summary_t method = (CFISH_TestFormatterTAP_Summary_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Summary_OFFSET);
      |                                                     ^
In file included from autogen/include/Clownfish/String.h:44,
                 from cfcore/Clownfish/TestHarness/TestFormatter.c:24:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
In file included from cfcore/Clownfish/TestHarness/TestFormatter.c:26:
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
In file included from cfcore/Clownfish/TestHarness/TestFormatter.c:27:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:175:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestSuiteRunner *, void *)’ [-Wcast-function-type]
  175 |     const CFISH_TestSuiteRunner_To_Host_t method = (CFISH_TestSuiteRunner_To_Host_t)cfish_obj_method(self, CFISH_TestSuiteRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:182:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  182 |     const CFISH_TestSuiteRunner_Clone_t method = (CFISH_TestSuiteRunner_Clone_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:189:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuiteRunner *, cfish_Obj *)’ [-Wcast-function-type]
  189 |     const CFISH_TestSuiteRunner_Equals_t method = (CFISH_TestSuiteRunner_Equals_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:196:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestSuiteRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestSuiteRunner *, cfish_Obj *)’} [-Wcast-function-type]
  196 |     const CFISH_TestSuiteRunner_Compare_To_t method = (CFISH_TestSuiteRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:210:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  210 |     const CFISH_TestSuiteRunner_To_String_t method = (CFISH_TestSuiteRunner_To_String_t)cfish_obj_method(self, CFISH_TestSuiteRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:217:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuiteRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  217 |     const CFISH_TestSuiteRunner_Run_Batch_t method = (CFISH_TestSuiteRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Finish’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:224:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  224 |     const CFISH_TestSuiteRunner_Finish_t method = (CFISH_TestSuiteRunner_Finish_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Finish_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:231:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  231 |     const CFISH_TestSuiteRunner_Get_Num_Tests_t method = (CFISH_TestSuiteRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Tests_Failed’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:238:65: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  238 |     const CFISH_TestSuiteRunner_Get_Num_Tests_Failed_t method = (CFISH_TestSuiteRunner_Get_Num_Tests_Failed_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Tests_Failed_OFFSET);
      |                                                                 ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Batches’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:245:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  245 |     const CFISH_TestSuiteRunner_Get_Num_Batches_t method = (CFISH_TestSuiteRunner_Get_Num_Batches_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Batches_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Batches_Failed’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:252:67: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  252 |     const CFISH_TestSuiteRunner_Get_Num_Batches_Failed_t method = (CFISH_TestSuiteRunner_Get_Num_Batches_Failed_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Batches_Failed_OFFSET);
      |                                                                   ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/TestHarness/TestSuite.c -c -o cfcore/Clownfish/TestHarness/TestSuite.o
In file included from autogen/include/Clownfish/TestHarness/TestSuite.h:40,
                 from cfcore/Clownfish/TestHarness/TestSuite.c:23:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_To_Host’:
autogen/include/Clownfish/TestHarness/TestSuite.h:153:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestSuite *, void *)’ [-Wcast-function-type]
  153 |     const CFISH_TestSuite_To_Host_t method = (CFISH_TestSuite_To_Host_t)cfish_obj_method(self, CFISH_TestSuite_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Clone’:
autogen/include/Clownfish/TestHarness/TestSuite.h:160:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestSuite *)’ [-Wcast-function-type]
  160 |     const CFISH_TestSuite_Clone_t method = (CFISH_TestSuite_Clone_t)cfish_obj_method(self, CFISH_TestSuite_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Equals’:
autogen/include/Clownfish/TestHarness/TestSuite.h:167:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuite *, cfish_Obj *)’ [-Wcast-function-type]
  167 |     const CFISH_TestSuite_Equals_t method = (CFISH_TestSuite_Equals_t)cfish_obj_method(self, CFISH_TestSuite_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Compare_To’:
autogen/include/Clownfish/TestHarness/TestSuite.h:174:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestSuite *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestSuite *, cfish_Obj *)’} [-Wcast-function-type]
  174 |     const CFISH_TestSuite_Compare_To_t method = (CFISH_TestSuite_Compare_To_t)cfish_obj_method(self, CFISH_TestSuite_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_To_String’:
autogen/include/Clownfish/TestHarness/TestSuite.h:188:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestSuite *)’ [-Wcast-function-type]
  188 |     const CFISH_TestSuite_To_String_t method = (CFISH_TestSuite_To_String_t)cfish_obj_method(self, CFISH_TestSuite_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Add_Batch’:
autogen/include/Clownfish/TestHarness/TestSuite.h:195:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestSuite *, cfish_TestBatch *)’ [-Wcast-function-type]
  195 |     const CFISH_TestSuite_Add_Batch_t method = (CFISH_TestSuite_Add_Batch_t)cfish_obj_method(self, CFISH_TestSuite_Add_Batch_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestSuite.h:202:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuite *, cfish_String *, cfish_TestFormatter *)’ [-Wcast-function-type]
  202 |     const CFISH_TestSuite_Run_Batch_t method = (CFISH_TestSuite_Run_Batch_t)cfish_obj_method(self, CFISH_TestSuite_Run_Batch_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Run_All_Batches’:
autogen/include/Clownfish/TestHarness/TestSuite.h:209:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuite *, cfish_TestFormatter *)’ [-Wcast-function-type]
  209 |     const CFISH_TestSuite_Run_All_Batches_t method = (CFISH_TestSuite_Run_All_Batches_t)cfish_obj_method(self, CFISH_TestSuite_Run_All_Batches_OFFSET);
      |                                                      ^
In file included from autogen/include/Clownfish/String.h:44,
                 from cfcore/Clownfish/TestHarness/TestSuite.c:25:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
In file included from cfcore/Clownfish/TestHarness/TestSuite.c:27:
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
In file included from cfcore/Clownfish/TestHarness/TestSuite.c:28:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
In file included from cfcore/Clownfish/TestHarness/TestSuite.c:29:
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:173:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatter *, void *)’ [-Wcast-function-type]
  173 |     const CFISH_TestFormatter_To_Host_t method = (CFISH_TestFormatter_To_Host_t)cfish_obj_method(self, CFISH_TestFormatter_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:180:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatter *)’ [-Wcast-function-type]
  180 |     const CFISH_TestFormatter_Clone_t method = (CFISH_TestFormatter_Clone_t)cfish_obj_method(self, CFISH_TestFormatter_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:187:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatter *, cfish_Obj *)’ [-Wcast-function-type]
  187 |     const CFISH_TestFormatter_Equals_t method = (CFISH_TestFormatter_Equals_t)cfish_obj_method(self, CFISH_TestFormatter_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:194:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatter *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatter *, cfish_Obj *)’} [-Wcast-function-type]
  194 |     const CFISH_TestFormatter_Compare_To_t method = (CFISH_TestFormatter_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatter_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:208:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatter *)’ [-Wcast-function-type]
  208 |     const CFISH_TestFormatter_To_String_t method = (CFISH_TestFormatter_To_String_t)cfish_obj_method(self, CFISH_TestFormatter_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:215:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatter *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  215 |     const CFISH_TestFormatter_Batch_Prologue_t method = (CFISH_TestFormatter_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatter_Batch_Prologue_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:222:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatter *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  222 |     const CFISH_TestFormatter_VTest_Result_t method = (CFISH_TestFormatter_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Result_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:229:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatter *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  229 |     const CFISH_TestFormatter_VTest_Skip_t method = (CFISH_TestFormatter_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Skip_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:236:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, const char *, va_list)’ [-Wcast-function-type]
  236 |     const CFISH_TestFormatter_VTest_Comment_t method = (CFISH_TestFormatter_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Comment_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:243:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, const char *, va_list)’ [-Wcast-function-type]
  243 |     const CFISH_TestFormatter_VBatch_Comment_t method = (CFISH_TestFormatter_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatter_VBatch_Comment_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:250:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  250 |     const CFISH_TestFormatter_Summary_t method = (CFISH_TestFormatter_Summary_t)cfish_obj_method(self, CFISH_TestFormatter_Summary_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:459:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatterCF *, void *)’ [-Wcast-function-type]
  459 |     const CFISH_TestFormatterCF_To_Host_t method = (CFISH_TestFormatterCF_To_Host_t)cfish_obj_method(self, CFISH_TestFormatterCF_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:466:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatterCF *)’ [-Wcast-function-type]
  466 |     const CFISH_TestFormatterCF_Clone_t method = (CFISH_TestFormatterCF_Clone_t)cfish_obj_method(self, CFISH_TestFormatterCF_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:473:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatterCF *, cfish_Obj *)’ [-Wcast-function-type]
  473 |     const CFISH_TestFormatterCF_Equals_t method = (CFISH_TestFormatterCF_Equals_t)cfish_obj_method(self, CFISH_TestFormatterCF_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:480:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatterCF *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatterCF *, cfish_Obj *)’} [-Wcast-function-type]
  480 |     const CFISH_TestFormatterCF_Compare_To_t method = (CFISH_TestFormatterCF_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatterCF_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:494:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatterCF *)’ [-Wcast-function-type]
  494 |     const CFISH_TestFormatterCF_To_String_t method = (CFISH_TestFormatterCF_To_String_t)cfish_obj_method(self, CFISH_TestFormatterCF_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:501:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatterCF *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  501 |     const CFISH_TestFormatterCF_Batch_Prologue_t method = (CFISH_TestFormatterCF_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatterCF_Batch_Prologue_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:508:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterCF *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  508 |     const CFISH_TestFormatterCF_VTest_Result_t method = (CFISH_TestFormatterCF_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Result_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:515:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterCF *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  515 |     const CFISH_TestFormatterCF_VTest_Skip_t method = (CFISH_TestFormatterCF_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Skip_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:522:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, const char *, va_list)’ [-Wcast-function-type]
  522 |     const CFISH_TestFormatterCF_VTest_Comment_t method = (CFISH_TestFormatterCF_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Comment_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:529:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, const char *, va_list)’ [-Wcast-function-type]
  529 |     const CFISH_TestFormatterCF_VBatch_Comment_t method = (CFISH_TestFormatterCF_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatterCF_VBatch_Comment_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:536:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  536 |     const CFISH_TestFormatterCF_Summary_t method = (CFISH_TestFormatterCF_Summary_t)cfish_obj_method(self, CFISH_TestFormatterCF_Summary_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:725:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatterTAP *, void *)’ [-Wcast-function-type]
  725 |     const CFISH_TestFormatterTAP_To_Host_t method = (CFISH_TestFormatterTAP_To_Host_t)cfish_obj_method(self, CFISH_TestFormatterTAP_To_Host_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:732:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatterTAP *)’ [-Wcast-function-type]
  732 |     const CFISH_TestFormatterTAP_Clone_t method = (CFISH_TestFormatterTAP_Clone_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Clone_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:739:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatterTAP *, cfish_Obj *)’ [-Wcast-function-type]
  739 |     const CFISH_TestFormatterTAP_Equals_t method = (CFISH_TestFormatterTAP_Equals_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Equals_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:746:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatterTAP *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatterTAP *, cfish_Obj *)’} [-Wcast-function-type]
  746 |     const CFISH_TestFormatterTAP_Compare_To_t method = (CFISH_TestFormatterTAP_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Compare_To_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:760:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatterTAP *)’ [-Wcast-function-type]
  760 |     const CFISH_TestFormatterTAP_To_String_t method = (CFISH_TestFormatterTAP_To_String_t)cfish_obj_method(self, CFISH_TestFormatterTAP_To_String_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:767:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatterTAP *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  767 |     const CFISH_TestFormatterTAP_Batch_Prologue_t method = (CFISH_TestFormatterTAP_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Batch_Prologue_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:774:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterTAP *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  774 |     const CFISH_TestFormatterTAP_VTest_Result_t method = (CFISH_TestFormatterTAP_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Result_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:781:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterTAP *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  781 |     const CFISH_TestFormatterTAP_VTest_Skip_t method = (CFISH_TestFormatterTAP_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Skip_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:788:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, const char *, va_list)’ [-Wcast-function-type]
  788 |     const CFISH_TestFormatterTAP_VTest_Comment_t method = (CFISH_TestFormatterTAP_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Comment_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:795:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, const char *, va_list)’ [-Wcast-function-type]
  795 |     const CFISH_TestFormatterTAP_VBatch_Comment_t method = (CFISH_TestFormatterTAP_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VBatch_Comment_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:802:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  802 |     const CFISH_TestFormatterTAP_Summary_t method = (CFISH_TestFormatterTAP_Summary_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Summary_OFFSET);
      |                                                     ^
In file included from cfcore/Clownfish/TestHarness/TestSuite.c:30:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:175:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestSuiteRunner *, void *)’ [-Wcast-function-type]
  175 |     const CFISH_TestSuiteRunner_To_Host_t method = (CFISH_TestSuiteRunner_To_Host_t)cfish_obj_method(self, CFISH_TestSuiteRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:182:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  182 |     const CFISH_TestSuiteRunner_Clone_t method = (CFISH_TestSuiteRunner_Clone_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:189:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuiteRunner *, cfish_Obj *)’ [-Wcast-function-type]
  189 |     const CFISH_TestSuiteRunner_Equals_t method = (CFISH_TestSuiteRunner_Equals_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:196:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestSuiteRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestSuiteRunner *, cfish_Obj *)’} [-Wcast-function-type]
  196 |     const CFISH_TestSuiteRunner_Compare_To_t method = (CFISH_TestSuiteRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:210:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  210 |     const CFISH_TestSuiteRunner_To_String_t method = (CFISH_TestSuiteRunner_To_String_t)cfish_obj_method(self, CFISH_TestSuiteRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:217:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuiteRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  217 |     const CFISH_TestSuiteRunner_Run_Batch_t method = (CFISH_TestSuiteRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Finish’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:224:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  224 |     const CFISH_TestSuiteRunner_Finish_t method = (CFISH_TestSuiteRunner_Finish_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Finish_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:231:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  231 |     const CFISH_TestSuiteRunner_Get_Num_Tests_t method = (CFISH_TestSuiteRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Tests_Failed’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:238:65: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  238 |     const CFISH_TestSuiteRunner_Get_Num_Tests_Failed_t method = (CFISH_TestSuiteRunner_Get_Num_Tests_Failed_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Tests_Failed_OFFSET);
      |                                                                 ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Batches’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:245:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  245 |     const CFISH_TestSuiteRunner_Get_Num_Batches_t method = (CFISH_TestSuiteRunner_Get_Num_Batches_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Batches_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Batches_Failed’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:252:67: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  252 |     const CFISH_TestSuiteRunner_Get_Num_Batches_Failed_t method = (CFISH_TestSuiteRunner_Get_Num_Batches_Failed_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Batches_Failed_OFFSET);
      |                                                                   ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/TestHarness/TestSuiteRunner.c -c -o cfcore/Clownfish/TestHarness/TestSuiteRunner.o
In file included from autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:40,
                 from cfcore/Clownfish/TestHarness/TestSuiteRunner.c:20:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:175:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestSuiteRunner *, void *)’ [-Wcast-function-type]
  175 |     const CFISH_TestSuiteRunner_To_Host_t method = (CFISH_TestSuiteRunner_To_Host_t)cfish_obj_method(self, CFISH_TestSuiteRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:182:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  182 |     const CFISH_TestSuiteRunner_Clone_t method = (CFISH_TestSuiteRunner_Clone_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:189:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuiteRunner *, cfish_Obj *)’ [-Wcast-function-type]
  189 |     const CFISH_TestSuiteRunner_Equals_t method = (CFISH_TestSuiteRunner_Equals_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:196:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestSuiteRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestSuiteRunner *, cfish_Obj *)’} [-Wcast-function-type]
  196 |     const CFISH_TestSuiteRunner_Compare_To_t method = (CFISH_TestSuiteRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:210:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  210 |     const CFISH_TestSuiteRunner_To_String_t method = (CFISH_TestSuiteRunner_To_String_t)cfish_obj_method(self, CFISH_TestSuiteRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:217:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuiteRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  217 |     const CFISH_TestSuiteRunner_Run_Batch_t method = (CFISH_TestSuiteRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Finish’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:224:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  224 |     const CFISH_TestSuiteRunner_Finish_t method = (CFISH_TestSuiteRunner_Finish_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Finish_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:231:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  231 |     const CFISH_TestSuiteRunner_Get_Num_Tests_t method = (CFISH_TestSuiteRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Tests_Failed’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:238:65: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  238 |     const CFISH_TestSuiteRunner_Get_Num_Tests_Failed_t method = (CFISH_TestSuiteRunner_Get_Num_Tests_Failed_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Tests_Failed_OFFSET);
      |                                                                 ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Batches’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:245:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  245 |     const CFISH_TestSuiteRunner_Get_Num_Batches_t method = (CFISH_TestSuiteRunner_Get_Num_Batches_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Batches_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Batches_Failed’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:252:67: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  252 |     const CFISH_TestSuiteRunner_Get_Num_Batches_Failed_t method = (CFISH_TestSuiteRunner_Get_Num_Batches_Failed_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Batches_Failed_OFFSET);
      |                                                                   ^
In file included from cfcore/Clownfish/TestHarness/TestSuiteRunner.c:22:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
In file included from cfcore/Clownfish/TestHarness/TestSuiteRunner.c:23:
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
In file included from cfcore/Clownfish/TestHarness/TestSuiteRunner.c:24:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
In file included from cfcore/Clownfish/TestHarness/TestSuiteRunner.c:25:
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:173:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatter *, void *)’ [-Wcast-function-type]
  173 |     const CFISH_TestFormatter_To_Host_t method = (CFISH_TestFormatter_To_Host_t)cfish_obj_method(self, CFISH_TestFormatter_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:180:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatter *)’ [-Wcast-function-type]
  180 |     const CFISH_TestFormatter_Clone_t method = (CFISH_TestFormatter_Clone_t)cfish_obj_method(self, CFISH_TestFormatter_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:187:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatter *, cfish_Obj *)’ [-Wcast-function-type]
  187 |     const CFISH_TestFormatter_Equals_t method = (CFISH_TestFormatter_Equals_t)cfish_obj_method(self, CFISH_TestFormatter_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:194:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatter *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatter *, cfish_Obj *)’} [-Wcast-function-type]
  194 |     const CFISH_TestFormatter_Compare_To_t method = (CFISH_TestFormatter_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatter_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:208:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatter *)’ [-Wcast-function-type]
  208 |     const CFISH_TestFormatter_To_String_t method = (CFISH_TestFormatter_To_String_t)cfish_obj_method(self, CFISH_TestFormatter_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:215:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatter *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  215 |     const CFISH_TestFormatter_Batch_Prologue_t method = (CFISH_TestFormatter_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatter_Batch_Prologue_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:222:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatter *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  222 |     const CFISH_TestFormatter_VTest_Result_t method = (CFISH_TestFormatter_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Result_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:229:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatter *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  229 |     const CFISH_TestFormatter_VTest_Skip_t method = (CFISH_TestFormatter_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Skip_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:236:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, const char *, va_list)’ [-Wcast-function-type]
  236 |     const CFISH_TestFormatter_VTest_Comment_t method = (CFISH_TestFormatter_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Comment_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:243:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, const char *, va_list)’ [-Wcast-function-type]
  243 |     const CFISH_TestFormatter_VBatch_Comment_t method = (CFISH_TestFormatter_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatter_VBatch_Comment_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:250:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  250 |     const CFISH_TestFormatter_Summary_t method = (CFISH_TestFormatter_Summary_t)cfish_obj_method(self, CFISH_TestFormatter_Summary_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:459:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatterCF *, void *)’ [-Wcast-function-type]
  459 |     const CFISH_TestFormatterCF_To_Host_t method = (CFISH_TestFormatterCF_To_Host_t)cfish_obj_method(self, CFISH_TestFormatterCF_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:466:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatterCF *)’ [-Wcast-function-type]
  466 |     const CFISH_TestFormatterCF_Clone_t method = (CFISH_TestFormatterCF_Clone_t)cfish_obj_method(self, CFISH_TestFormatterCF_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:473:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatterCF *, cfish_Obj *)’ [-Wcast-function-type]
  473 |     const CFISH_TestFormatterCF_Equals_t method = (CFISH_TestFormatterCF_Equals_t)cfish_obj_method(self, CFISH_TestFormatterCF_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:480:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatterCF *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatterCF *, cfish_Obj *)’} [-Wcast-function-type]
  480 |     const CFISH_TestFormatterCF_Compare_To_t method = (CFISH_TestFormatterCF_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatterCF_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:494:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatterCF *)’ [-Wcast-function-type]
  494 |     const CFISH_TestFormatterCF_To_String_t method = (CFISH_TestFormatterCF_To_String_t)cfish_obj_method(self, CFISH_TestFormatterCF_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:501:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatterCF *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  501 |     const CFISH_TestFormatterCF_Batch_Prologue_t method = (CFISH_TestFormatterCF_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatterCF_Batch_Prologue_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:508:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterCF *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  508 |     const CFISH_TestFormatterCF_VTest_Result_t method = (CFISH_TestFormatterCF_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Result_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:515:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterCF *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  515 |     const CFISH_TestFormatterCF_VTest_Skip_t method = (CFISH_TestFormatterCF_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Skip_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:522:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, const char *, va_list)’ [-Wcast-function-type]
  522 |     const CFISH_TestFormatterCF_VTest_Comment_t method = (CFISH_TestFormatterCF_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Comment_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:529:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, const char *, va_list)’ [-Wcast-function-type]
  529 |     const CFISH_TestFormatterCF_VBatch_Comment_t method = (CFISH_TestFormatterCF_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatterCF_VBatch_Comment_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:536:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  536 |     const CFISH_TestFormatterCF_Summary_t method = (CFISH_TestFormatterCF_Summary_t)cfish_obj_method(self, CFISH_TestFormatterCF_Summary_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:725:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatterTAP *, void *)’ [-Wcast-function-type]
  725 |     const CFISH_TestFormatterTAP_To_Host_t method = (CFISH_TestFormatterTAP_To_Host_t)cfish_obj_method(self, CFISH_TestFormatterTAP_To_Host_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:732:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatterTAP *)’ [-Wcast-function-type]
  732 |     const CFISH_TestFormatterTAP_Clone_t method = (CFISH_TestFormatterTAP_Clone_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Clone_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:739:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatterTAP *, cfish_Obj *)’ [-Wcast-function-type]
  739 |     const CFISH_TestFormatterTAP_Equals_t method = (CFISH_TestFormatterTAP_Equals_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Equals_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:746:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatterTAP *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatterTAP *, cfish_Obj *)’} [-Wcast-function-type]
  746 |     const CFISH_TestFormatterTAP_Compare_To_t method = (CFISH_TestFormatterTAP_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Compare_To_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:760:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatterTAP *)’ [-Wcast-function-type]
  760 |     const CFISH_TestFormatterTAP_To_String_t method = (CFISH_TestFormatterTAP_To_String_t)cfish_obj_method(self, CFISH_TestFormatterTAP_To_String_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:767:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatterTAP *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  767 |     const CFISH_TestFormatterTAP_Batch_Prologue_t method = (CFISH_TestFormatterTAP_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Batch_Prologue_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:774:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterTAP *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  774 |     const CFISH_TestFormatterTAP_VTest_Result_t method = (CFISH_TestFormatterTAP_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Result_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:781:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterTAP *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  781 |     const CFISH_TestFormatterTAP_VTest_Skip_t method = (CFISH_TestFormatterTAP_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Skip_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:788:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, const char *, va_list)’ [-Wcast-function-type]
  788 |     const CFISH_TestFormatterTAP_VTest_Comment_t method = (CFISH_TestFormatterTAP_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Comment_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:795:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, const char *, va_list)’ [-Wcast-function-type]
  795 |     const CFISH_TestFormatterTAP_VBatch_Comment_t method = (CFISH_TestFormatterTAP_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VBatch_Comment_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:802:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  802 |     const CFISH_TestFormatterTAP_Summary_t method = (CFISH_TestFormatterTAP_Summary_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Summary_OFFSET);
      |                                                     ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/TestHarness/TestUtils.c -c -o cfcore/Clownfish/TestHarness/TestUtils.o
In file included from autogen/include/Clownfish/CharBuf.h:40,
                 from cfcore/Clownfish/TestHarness/TestUtils.c:26:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from cfcore/Clownfish/TestHarness/TestUtils.c:27:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/Util/Atomic.c -c -o cfcore/Clownfish/Util/Atomic.o
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/Util/Memory.c -c -o cfcore/Clownfish/Util/Memory.o
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH cfcore/Clownfish/Util/SortUtils.c -c -o cfcore/Clownfish/Util/SortUtils.o
In file included from autogen/include/Clownfish/Err.h:47,
                 from cfcore/Clownfish/Util/SortUtils.c:22:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_CFISH autogen/source/cfish_parcel.c -c -o autogen/source/cfish_parcel.o
In file included from autogen/include/Clownfish/Class.h:40,
                 from autogen/source/cfish_parcel.c:56:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from autogen/source/cfish_parcel.c:57:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
In file included from autogen/source/cfish_parcel.c:73:
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
In file included from autogen/source/cfish_parcel.c:74:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
In file included from autogen/source/cfish_parcel.c:75:
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:173:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatter *, void *)’ [-Wcast-function-type]
  173 |     const CFISH_TestFormatter_To_Host_t method = (CFISH_TestFormatter_To_Host_t)cfish_obj_method(self, CFISH_TestFormatter_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:180:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatter *)’ [-Wcast-function-type]
  180 |     const CFISH_TestFormatter_Clone_t method = (CFISH_TestFormatter_Clone_t)cfish_obj_method(self, CFISH_TestFormatter_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:187:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatter *, cfish_Obj *)’ [-Wcast-function-type]
  187 |     const CFISH_TestFormatter_Equals_t method = (CFISH_TestFormatter_Equals_t)cfish_obj_method(self, CFISH_TestFormatter_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:194:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatter *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatter *, cfish_Obj *)’} [-Wcast-function-type]
  194 |     const CFISH_TestFormatter_Compare_To_t method = (CFISH_TestFormatter_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatter_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:208:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatter *)’ [-Wcast-function-type]
  208 |     const CFISH_TestFormatter_To_String_t method = (CFISH_TestFormatter_To_String_t)cfish_obj_method(self, CFISH_TestFormatter_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:215:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatter *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  215 |     const CFISH_TestFormatter_Batch_Prologue_t method = (CFISH_TestFormatter_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatter_Batch_Prologue_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:222:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatter *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  222 |     const CFISH_TestFormatter_VTest_Result_t method = (CFISH_TestFormatter_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Result_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:229:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatter *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  229 |     const CFISH_TestFormatter_VTest_Skip_t method = (CFISH_TestFormatter_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Skip_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:236:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, const char *, va_list)’ [-Wcast-function-type]
  236 |     const CFISH_TestFormatter_VTest_Comment_t method = (CFISH_TestFormatter_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Comment_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:243:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, const char *, va_list)’ [-Wcast-function-type]
  243 |     const CFISH_TestFormatter_VBatch_Comment_t method = (CFISH_TestFormatter_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatter_VBatch_Comment_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:250:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  250 |     const CFISH_TestFormatter_Summary_t method = (CFISH_TestFormatter_Summary_t)cfish_obj_method(self, CFISH_TestFormatter_Summary_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:459:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatterCF *, void *)’ [-Wcast-function-type]
  459 |     const CFISH_TestFormatterCF_To_Host_t method = (CFISH_TestFormatterCF_To_Host_t)cfish_obj_method(self, CFISH_TestFormatterCF_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:466:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatterCF *)’ [-Wcast-function-type]
  466 |     const CFISH_TestFormatterCF_Clone_t method = (CFISH_TestFormatterCF_Clone_t)cfish_obj_method(self, CFISH_TestFormatterCF_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:473:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatterCF *, cfish_Obj *)’ [-Wcast-function-type]
  473 |     const CFISH_TestFormatterCF_Equals_t method = (CFISH_TestFormatterCF_Equals_t)cfish_obj_method(self, CFISH_TestFormatterCF_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:480:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatterCF *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatterCF *, cfish_Obj *)’} [-Wcast-function-type]
  480 |     const CFISH_TestFormatterCF_Compare_To_t method = (CFISH_TestFormatterCF_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatterCF_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:494:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatterCF *)’ [-Wcast-function-type]
  494 |     const CFISH_TestFormatterCF_To_String_t method = (CFISH_TestFormatterCF_To_String_t)cfish_obj_method(self, CFISH_TestFormatterCF_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:501:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatterCF *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  501 |     const CFISH_TestFormatterCF_Batch_Prologue_t method = (CFISH_TestFormatterCF_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatterCF_Batch_Prologue_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:508:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterCF *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  508 |     const CFISH_TestFormatterCF_VTest_Result_t method = (CFISH_TestFormatterCF_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Result_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:515:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterCF *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  515 |     const CFISH_TestFormatterCF_VTest_Skip_t method = (CFISH_TestFormatterCF_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Skip_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:522:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, const char *, va_list)’ [-Wcast-function-type]
  522 |     const CFISH_TestFormatterCF_VTest_Comment_t method = (CFISH_TestFormatterCF_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Comment_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:529:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, const char *, va_list)’ [-Wcast-function-type]
  529 |     const CFISH_TestFormatterCF_VBatch_Comment_t method = (CFISH_TestFormatterCF_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatterCF_VBatch_Comment_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:536:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  536 |     const CFISH_TestFormatterCF_Summary_t method = (CFISH_TestFormatterCF_Summary_t)cfish_obj_method(self, CFISH_TestFormatterCF_Summary_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:725:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatterTAP *, void *)’ [-Wcast-function-type]
  725 |     const CFISH_TestFormatterTAP_To_Host_t method = (CFISH_TestFormatterTAP_To_Host_t)cfish_obj_method(self, CFISH_TestFormatterTAP_To_Host_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:732:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatterTAP *)’ [-Wcast-function-type]
  732 |     const CFISH_TestFormatterTAP_Clone_t method = (CFISH_TestFormatterTAP_Clone_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Clone_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:739:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatterTAP *, cfish_Obj *)’ [-Wcast-function-type]
  739 |     const CFISH_TestFormatterTAP_Equals_t method = (CFISH_TestFormatterTAP_Equals_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Equals_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:746:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatterTAP *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatterTAP *, cfish_Obj *)’} [-Wcast-function-type]
  746 |     const CFISH_TestFormatterTAP_Compare_To_t method = (CFISH_TestFormatterTAP_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Compare_To_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:760:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatterTAP *)’ [-Wcast-function-type]
  760 |     const CFISH_TestFormatterTAP_To_String_t method = (CFISH_TestFormatterTAP_To_String_t)cfish_obj_method(self, CFISH_TestFormatterTAP_To_String_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:767:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatterTAP *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  767 |     const CFISH_TestFormatterTAP_Batch_Prologue_t method = (CFISH_TestFormatterTAP_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Batch_Prologue_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:774:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterTAP *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  774 |     const CFISH_TestFormatterTAP_VTest_Result_t method = (CFISH_TestFormatterTAP_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Result_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:781:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterTAP *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  781 |     const CFISH_TestFormatterTAP_VTest_Skip_t method = (CFISH_TestFormatterTAP_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Skip_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:788:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, const char *, va_list)’ [-Wcast-function-type]
  788 |     const CFISH_TestFormatterTAP_VTest_Comment_t method = (CFISH_TestFormatterTAP_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Comment_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:795:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, const char *, va_list)’ [-Wcast-function-type]
  795 |     const CFISH_TestFormatterTAP_VBatch_Comment_t method = (CFISH_TestFormatterTAP_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VBatch_Comment_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:802:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  802 |     const CFISH_TestFormatterTAP_Summary_t method = (CFISH_TestFormatterTAP_Summary_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Summary_OFFSET);
      |                                                     ^
In file included from autogen/source/cfish_parcel.c:78:
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_To_Host’:
autogen/include/Clownfish/TestHarness/TestSuite.h:153:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestSuite *, void *)’ [-Wcast-function-type]
  153 |     const CFISH_TestSuite_To_Host_t method = (CFISH_TestSuite_To_Host_t)cfish_obj_method(self, CFISH_TestSuite_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Clone’:
autogen/include/Clownfish/TestHarness/TestSuite.h:160:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestSuite *)’ [-Wcast-function-type]
  160 |     const CFISH_TestSuite_Clone_t method = (CFISH_TestSuite_Clone_t)cfish_obj_method(self, CFISH_TestSuite_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Equals’:
autogen/include/Clownfish/TestHarness/TestSuite.h:167:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuite *, cfish_Obj *)’ [-Wcast-function-type]
  167 |     const CFISH_TestSuite_Equals_t method = (CFISH_TestSuite_Equals_t)cfish_obj_method(self, CFISH_TestSuite_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Compare_To’:
autogen/include/Clownfish/TestHarness/TestSuite.h:174:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestSuite *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestSuite *, cfish_Obj *)’} [-Wcast-function-type]
  174 |     const CFISH_TestSuite_Compare_To_t method = (CFISH_TestSuite_Compare_To_t)cfish_obj_method(self, CFISH_TestSuite_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_To_String’:
autogen/include/Clownfish/TestHarness/TestSuite.h:188:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestSuite *)’ [-Wcast-function-type]
  188 |     const CFISH_TestSuite_To_String_t method = (CFISH_TestSuite_To_String_t)cfish_obj_method(self, CFISH_TestSuite_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Add_Batch’:
autogen/include/Clownfish/TestHarness/TestSuite.h:195:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestSuite *, cfish_TestBatch *)’ [-Wcast-function-type]
  195 |     const CFISH_TestSuite_Add_Batch_t method = (CFISH_TestSuite_Add_Batch_t)cfish_obj_method(self, CFISH_TestSuite_Add_Batch_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestSuite.h:202:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuite *, cfish_String *, cfish_TestFormatter *)’ [-Wcast-function-type]
  202 |     const CFISH_TestSuite_Run_Batch_t method = (CFISH_TestSuite_Run_Batch_t)cfish_obj_method(self, CFISH_TestSuite_Run_Batch_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Run_All_Batches’:
autogen/include/Clownfish/TestHarness/TestSuite.h:209:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuite *, cfish_TestFormatter *)’ [-Wcast-function-type]
  209 |     const CFISH_TestSuite_Run_All_Batches_t method = (CFISH_TestSuite_Run_All_Batches_t)cfish_obj_method(self, CFISH_TestSuite_Run_All_Batches_OFFSET);
      |                                                      ^
In file included from autogen/source/cfish_parcel.c:79:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:175:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestSuiteRunner *, void *)’ [-Wcast-function-type]
  175 |     const CFISH_TestSuiteRunner_To_Host_t method = (CFISH_TestSuiteRunner_To_Host_t)cfish_obj_method(self, CFISH_TestSuiteRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:182:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  182 |     const CFISH_TestSuiteRunner_Clone_t method = (CFISH_TestSuiteRunner_Clone_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:189:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuiteRunner *, cfish_Obj *)’ [-Wcast-function-type]
  189 |     const CFISH_TestSuiteRunner_Equals_t method = (CFISH_TestSuiteRunner_Equals_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:196:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestSuiteRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestSuiteRunner *, cfish_Obj *)’} [-Wcast-function-type]
  196 |     const CFISH_TestSuiteRunner_Compare_To_t method = (CFISH_TestSuiteRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:210:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  210 |     const CFISH_TestSuiteRunner_To_String_t method = (CFISH_TestSuiteRunner_To_String_t)cfish_obj_method(self, CFISH_TestSuiteRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:217:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuiteRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  217 |     const CFISH_TestSuiteRunner_Run_Batch_t method = (CFISH_TestSuiteRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Finish’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:224:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  224 |     const CFISH_TestSuiteRunner_Finish_t method = (CFISH_TestSuiteRunner_Finish_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Finish_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:231:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  231 |     const CFISH_TestSuiteRunner_Get_Num_Tests_t method = (CFISH_TestSuiteRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Tests_Failed’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:238:65: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  238 |     const CFISH_TestSuiteRunner_Get_Num_Tests_Failed_t method = (CFISH_TestSuiteRunner_Get_Num_Tests_Failed_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Tests_Failed_OFFSET);
      |                                                                 ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Batches’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:245:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  245 |     const CFISH_TestSuiteRunner_Get_Num_Batches_t method = (CFISH_TestSuiteRunner_Get_Num_Batches_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Batches_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Batches_Failed’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:252:67: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  252 |     const CFISH_TestSuiteRunner_Get_Num_Batches_Failed_t method = (CFISH_TestSuiteRunner_Get_Num_Batches_Failed_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Batches_Failed_OFFSET);
      |                                                                   ^
autogen/source/cfish_parcel.c: At top level:
autogen/source/cfish_parcel.c:960:9: warning: cast between incompatible function types from ‘void * (*)(cfish_Obj *, void *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  960 |         (cfish_method_t)CFISH_Obj_To_Host_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:961:9: warning: cast between incompatible function types from ‘void * (*)(cfish_Obj *, void *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  961 |         (cfish_method_t)Cfish_Obj_To_Host_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:966:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  966 |         (cfish_method_t)CFISH_Obj_Clone_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:967:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  967 |         (cfish_method_t)Cfish_Obj_Clone_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:972:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  972 |         (cfish_method_t)CFISH_Obj_Equals_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:973:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  973 |         (cfish_method_t)Cfish_Obj_Equals_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:978:9: warning: cast between incompatible function types from ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
  978 |         (cfish_method_t)CFISH_Obj_Compare_To_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:979:9: warning: cast between incompatible function types from ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
  979 |         (cfish_method_t)Cfish_Obj_Compare_To_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:990:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  990 |         (cfish_method_t)CFISH_Obj_To_String_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:991:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  991 |         (cfish_method_t)Cfish_Obj_To_String_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:996:9: warning: cast between incompatible function types from ‘size_t (*)(cfish_Blob *)’ {aka ‘long unsigned int (*)(cfish_Blob *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
  996 |         (cfish_method_t)CFISH_Blob_Get_Size_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1002:9: warning: cast between incompatible function types from ‘const char * (*)(cfish_Blob *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1002 |         (cfish_method_t)CFISH_Blob_Get_Buf_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1008:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_Blob *, const void *, size_t)’ {aka ‘_Bool (*)(cfish_Blob *, const void *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1008 |         (cfish_method_t)CFISH_Blob_Equals_Bytes_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1014:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_Boolean *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1014 |         (cfish_method_t)CFISH_Bool_Get_Value_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1020:9: warning: cast between incompatible function types from ‘void (*)(cfish_ByteBuf *, size_t)’ {aka ‘void (*)(cfish_ByteBuf *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1020 |         (cfish_method_t)CFISH_BB_Set_Size_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1026:9: warning: cast between incompatible function types from ‘size_t (*)(cfish_ByteBuf *)’ {aka ‘long unsigned int (*)(cfish_ByteBuf *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1026 |         (cfish_method_t)CFISH_BB_Get_Size_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1032:9: warning: cast between incompatible function types from ‘char * (*)(cfish_ByteBuf *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1032 |         (cfish_method_t)CFISH_BB_Get_Buf_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1038:9: warning: cast between incompatible function types from ‘size_t (*)(cfish_ByteBuf *)’ {aka ‘long unsigned int (*)(cfish_ByteBuf *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1038 |         (cfish_method_t)CFISH_BB_Get_Capacity_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1044:9: warning: cast between incompatible function types from ‘void (*)(cfish_ByteBuf *, const void *, size_t)’ {aka ‘void (*)(cfish_ByteBuf *, const void *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1044 |         (cfish_method_t)CFISH_BB_Cat_Bytes_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1050:9: warning: cast between incompatible function types from ‘void (*)(cfish_ByteBuf *, cfish_Blob *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1050 |         (cfish_method_t)CFISH_BB_Cat_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1056:9: warning: cast between incompatible function types from ‘char * (*)(cfish_ByteBuf *, size_t)’ {aka ‘char * (*)(cfish_ByteBuf *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1056 |         (cfish_method_t)CFISH_BB_Grow_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1062:9: warning: cast between incompatible function types from ‘cfish_Blob * (*)(cfish_ByteBuf *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1062 |         (cfish_method_t)CFISH_BB_Yield_Blob_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1068:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_ByteBuf *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1068 |         (cfish_method_t)CFISH_BB_Utf8_To_String_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1074:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_ByteBuf *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1074 |         (cfish_method_t)CFISH_BB_Trusted_Utf8_To_String_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1080:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_ByteBuf *, const void *, size_t)’ {aka ‘_Bool (*)(cfish_ByteBuf *, const void *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1080 |         (cfish_method_t)CFISH_BB_Equals_Bytes_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1086:9: warning: cast between incompatible function types from ‘void (*)(cfish_CharBuf *, const char *, size_t)’ {aka ‘void (*)(cfish_CharBuf *, const char *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1086 |         (cfish_method_t)CFISH_CB_Cat_Utf8_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1092:9: warning: cast between incompatible function types from ‘void (*)(cfish_CharBuf *, const char *, size_t)’ {aka ‘void (*)(cfish_CharBuf *, const char *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1092 |         (cfish_method_t)CFISH_CB_Cat_Trusted_Utf8_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1098:9: warning: cast between incompatible function types from ‘void (*)(cfish_CharBuf *, cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1098 |         (cfish_method_t)CFISH_CB_Cat_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1104:9: warning: cast between incompatible function types from ‘void (*)(cfish_CharBuf *, const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1104 |         (cfish_method_t)CFISH_CB_VCatF_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1110:9: warning: cast between incompatible function types from ‘void (*)(cfish_CharBuf *, int32_t)’ {aka ‘void (*)(cfish_CharBuf *, int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1110 |         (cfish_method_t)CFISH_CB_Cat_Char_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1116:9: warning: cast between incompatible function types from ‘void (*)(cfish_CharBuf *, size_t)’ {aka ‘void (*)(cfish_CharBuf *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1116 |         (cfish_method_t)CFISH_CB_Grow_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1128:9: warning: cast between incompatible function types from ‘size_t (*)(cfish_CharBuf *)’ {aka ‘long unsigned int (*)(cfish_CharBuf *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1128 |         (cfish_method_t)CFISH_CB_Get_Size_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1134:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_CharBuf *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1134 |         (cfish_method_t)CFISH_CB_Yield_String_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1140:9: warning: cast between incompatible function types from ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1140 |         (cfish_method_t)CFISH_Class_Override_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1146:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(cfish_Class *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1146 |         (cfish_method_t)CFISH_Class_Make_Obj_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1152:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(cfish_Class *, void *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1152 |         (cfish_method_t)CFISH_Class_Init_Obj_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1158:9: warning: cast between incompatible function types from ‘void (*)(cfish_Class *, const char *, const char *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1158 |         (cfish_method_t)CFISH_Class_Add_Host_Method_Alias_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1164:9: warning: cast between incompatible function types from ‘void (*)(cfish_Class *, const char *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1164 |         (cfish_method_t)CFISH_Class_Exclude_Host_Method_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1170:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_Class *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1170 |         (cfish_method_t)CFISH_Class_Get_Name_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1176:9: warning: cast between incompatible function types from ‘cfish_Class * (*)(cfish_Class *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1176 |         (cfish_method_t)CFISH_Class_Get_Parent_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1182:9: warning: cast between incompatible function types from ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1182 |         (cfish_method_t)CFISH_Class_Get_Obj_Alloc_Size_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1188:9: warning: cast between incompatible function types from ‘cfish_Vector * (*)(cfish_Class *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1188 |         (cfish_method_t)CFISH_Class_Get_Methods_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1194:9: warning: cast between incompatible function types from ‘void (*)(cfish_Err *, cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1194 |         (cfish_method_t)CFISH_Err_Cat_Mess_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1195:9: warning: cast between incompatible function types from ‘void (*)(cfish_Err *, cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1195 |         (cfish_method_t)Cfish_Err_Cat_Mess_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1200:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_Err *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1200 |         (cfish_method_t)CFISH_Err_Get_Mess_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1201:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_Err *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1201 |         (cfish_method_t)Cfish_Err_Get_Mess_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1206:9: warning: cast between incompatible function types from ‘void (*)(cfish_Err *, const char *, int,  const char *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1206 |         (cfish_method_t)CFISH_Err_Add_Frame_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1207:9: warning: cast between incompatible function types from ‘void (*)(cfish_Err *, const char *, int,  const char *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1207 |         (cfish_method_t)Cfish_Err_Add_Frame_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1218:9: warning: cast between incompatible function types from ‘void (*)(cfish_Hash *, cfish_String *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1218 |         (cfish_method_t)CFISH_Hash_Store_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1224:9: warning: cast between incompatible function types from ‘void (*)(cfish_Hash *, const char *, size_t,  cfish_Obj *)’ {aka ‘void (*)(cfish_Hash *, const char *, long unsigned int,  cfish_Obj *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1224 |         (cfish_method_t)CFISH_Hash_Store_Utf8_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1230:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(cfish_Hash *, cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1230 |         (cfish_method_t)CFISH_Hash_Fetch_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1236:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(cfish_Hash *, const char *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Hash *, const char *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1236 |         (cfish_method_t)CFISH_Hash_Fetch_Utf8_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1242:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(cfish_Hash *, cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1242 |         (cfish_method_t)CFISH_Hash_Delete_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1248:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(cfish_Hash *, const char *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Hash *, const char *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1248 |         (cfish_method_t)CFISH_Hash_Delete_Utf8_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1254:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_Hash *, cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1254 |         (cfish_method_t)CFISH_Hash_Has_Key_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1260:9: warning: cast between incompatible function types from ‘cfish_Vector * (*)(cfish_Hash *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1260 |         (cfish_method_t)CFISH_Hash_Keys_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1266:9: warning: cast between incompatible function types from ‘cfish_Vector * (*)(cfish_Hash *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1266 |         (cfish_method_t)CFISH_Hash_Values_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1272:9: warning: cast between incompatible function types from ‘size_t (*)(cfish_Hash *)’ {aka ‘long unsigned int (*)(cfish_Hash *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1272 |         (cfish_method_t)CFISH_Hash_Get_Capacity_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1278:9: warning: cast between incompatible function types from ‘size_t (*)(cfish_Hash *)’ {aka ‘long unsigned int (*)(cfish_Hash *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1278 |         (cfish_method_t)CFISH_Hash_Get_Size_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1284:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_HashIterator *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1284 |         (cfish_method_t)CFISH_HashIter_Next_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1290:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_HashIterator *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1290 |         (cfish_method_t)CFISH_HashIter_Get_Key_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1296:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(cfish_HashIterator *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1296 |         (cfish_method_t)CFISH_HashIter_Get_Value_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1302:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_Method *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1302 |         (cfish_method_t)CFISH_Method_Get_Name_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1308:9: warning: cast between incompatible function types from ‘void (*)(cfish_Method *, cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1308 |         (cfish_method_t)CFISH_Method_Set_Host_Alias_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1314:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_Method *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1314 |         (cfish_method_t)CFISH_Method_Get_Host_Alias_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1320:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_Method *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1320 |         (cfish_method_t)CFISH_Method_Is_Excluded_From_Host_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1326:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_Method *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1326 |         (cfish_method_t)CFISH_Method_Host_Name_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1332:9: warning: cast between incompatible function types from ‘double (*)(cfish_Float *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1332 |         (cfish_method_t)CFISH_Float_Get_Value_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1338:9: warning: cast between incompatible function types from ‘int64_t (*)(cfish_Float *)’ {aka ‘long int (*)(cfish_Float *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1338 |         (cfish_method_t)CFISH_Float_To_I64_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1344:9: warning: cast between incompatible function types from ‘int64_t (*)(cfish_Integer *)’ {aka ‘long int (*)(cfish_Integer *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1344 |         (cfish_method_t)CFISH_Int_Get_Value_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1350:9: warning: cast between incompatible function types from ‘double (*)(cfish_Integer *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1350 |         (cfish_method_t)CFISH_Int_To_F64_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1356:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_String *, cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1356 |         (cfish_method_t)CFISH_Str_Cat_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1362:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1362 |         (cfish_method_t)CFISH_Str_Cat_Utf8_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1368:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1368 |         (cfish_method_t)CFISH_Str_Cat_Trusted_Utf8_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1374:9: warning: cast between incompatible function types from ‘int64_t (*)(cfish_String *)’ {aka ‘long int (*)(cfish_String *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1374 |         (cfish_method_t)CFISH_Str_To_I64_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1380:9: warning: cast between incompatible function types from ‘int64_t (*)(cfish_String *, uint32_t)’ {aka ‘long int (*)(cfish_String *, unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1380 |         (cfish_method_t)CFISH_Str_BaseX_To_I64_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1386:9: warning: cast between incompatible function types from ‘double (*)(cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1386 |         (cfish_method_t)CFISH_Str_To_F64_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1392:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_String *, cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1392 |         (cfish_method_t)CFISH_Str_Starts_With_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1398:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1398 |         (cfish_method_t)CFISH_Str_Starts_With_Utf8_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1404:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_String *, cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1404 |         (cfish_method_t)CFISH_Str_Ends_With_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1410:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1410 |         (cfish_method_t)CFISH_Str_Ends_With_Utf8_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1416:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_String *, cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1416 |         (cfish_method_t)CFISH_Str_Contains_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1422:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1422 |         (cfish_method_t)CFISH_Str_Contains_Utf8_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1428:9: warning: cast between incompatible function types from ‘cfish_StringIterator * (*)(cfish_String *, cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1428 |         (cfish_method_t)CFISH_Str_Find_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1434:9: warning: cast between incompatible function types from ‘cfish_StringIterator * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_StringIterator * (*)(cfish_String *, const char *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1434 |         (cfish_method_t)CFISH_Str_Find_Utf8_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1440:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1440 |         (cfish_method_t)CFISH_Str_Equals_Utf8_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1446:9: warning: cast between incompatible function types from ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1446 |         (cfish_method_t)CFISH_Str_Length_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1452:9: warning: cast between incompatible function types from ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1452 |         (cfish_method_t)CFISH_Str_Get_Size_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1458:9: warning: cast between incompatible function types from ‘const char * (*)(cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1458 |         (cfish_method_t)CFISH_Str_Get_Ptr8_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1464:9: warning: cast between incompatible function types from ‘char * (*)(cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1464 |         (cfish_method_t)CFISH_Str_To_Utf8_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1470:9: warning: cast between incompatible function types from ‘cfish_ByteBuf * (*)(cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1470 |         (cfish_method_t)CFISH_Str_To_ByteBuf_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1476:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1476 |         (cfish_method_t)CFISH_Str_Is_Copy_On_IncRef_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1482:9: warning: cast between incompatible function types from ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1482 |         (cfish_method_t)CFISH_Str_Hash_Sum_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1488:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1488 |         (cfish_method_t)CFISH_Str_Trim_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1494:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1494 |         (cfish_method_t)CFISH_Str_Trim_Top_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1500:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1500 |         (cfish_method_t)CFISH_Str_Trim_Tail_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1506:9: warning: cast between incompatible function types from ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1506 |         (cfish_method_t)CFISH_Str_Code_Point_At_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1512:9: warning: cast between incompatible function types from ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1512 |         (cfish_method_t)CFISH_Str_Code_Point_From_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1518:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_String *, size_t,  size_t)’ {aka ‘cfish_String * (*)(cfish_String *, long unsigned int,  long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1518 |         (cfish_method_t)CFISH_Str_SubString_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1524:9: warning: cast between incompatible function types from ‘cfish_StringIterator * (*)(cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1524 |         (cfish_method_t)CFISH_Str_Top_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1530:9: warning: cast between incompatible function types from ‘cfish_StringIterator * (*)(cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1530 |         (cfish_method_t)CFISH_Str_Tail_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1536:9: warning: cast between incompatible function types from ‘void (*)(cfish_StringIterator *, cfish_StringIterator *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1536 |         (cfish_method_t)CFISH_StrIter_Assign_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1542:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_StringIterator *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1542 |         (cfish_method_t)CFISH_StrIter_Has_Next_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1548:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_StringIterator *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1548 |         (cfish_method_t)CFISH_StrIter_Has_Prev_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1554:9: warning: cast between incompatible function types from ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1554 |         (cfish_method_t)CFISH_StrIter_Next_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1560:9: warning: cast between incompatible function types from ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1560 |         (cfish_method_t)CFISH_StrIter_Prev_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1566:9: warning: cast between incompatible function types from ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1566 |         (cfish_method_t)CFISH_StrIter_Advance_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1572:9: warning: cast between incompatible function types from ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1572 |         (cfish_method_t)CFISH_StrIter_Recede_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1578:9: warning: cast between incompatible function types from ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1578 |         (cfish_method_t)CFISH_StrIter_Skip_Whitespace_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1584:9: warning: cast between incompatible function types from ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1584 |         (cfish_method_t)CFISH_StrIter_Skip_Whitespace_Back_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1590:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1590 |         (cfish_method_t)CFISH_StrIter_Starts_With_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1596:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1596 |         (cfish_method_t)CFISH_StrIter_Starts_With_Utf8_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1602:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1602 |         (cfish_method_t)CFISH_StrIter_Ends_With_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1608:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1608 |         (cfish_method_t)CFISH_StrIter_Ends_With_Utf8_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1614:9: warning: cast between incompatible function types from ‘void (*)(cfish_Vector *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1614 |         (cfish_method_t)CFISH_Vec_Push_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1620:9: warning: cast between incompatible function types from ‘void (*)(cfish_Vector *, cfish_Vector *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1620 |         (cfish_method_t)CFISH_Vec_Push_All_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1626:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(cfish_Vector *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1626 |         (cfish_method_t)CFISH_Vec_Pop_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1632:9: warning: cast between incompatible function types from ‘void (*)(cfish_Vector *, size_t,  cfish_Obj *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Obj *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1632 |         (cfish_method_t)CFISH_Vec_Insert_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1638:9: warning: cast between incompatible function types from ‘void (*)(cfish_Vector *, size_t,  cfish_Vector *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Vector *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1638 |         (cfish_method_t)CFISH_Vec_Insert_All_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1644:9: warning: cast between incompatible function types from ‘void (*)(cfish_Vector *, size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1644 |         (cfish_method_t)CFISH_Vec_Grow_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1650:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(cfish_Vector *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Vector *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1650 |         (cfish_method_t)CFISH_Vec_Fetch_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1656:9: warning: cast between incompatible function types from ‘void (*)(cfish_Vector *, size_t,  cfish_Obj *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Obj *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1656 |         (cfish_method_t)CFISH_Vec_Store_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1662:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(cfish_Vector *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Vector *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1662 |         (cfish_method_t)CFISH_Vec_Delete_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1668:9: warning: cast between incompatible function types from ‘void (*)(cfish_Vector *, size_t,  size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1668 |         (cfish_method_t)CFISH_Vec_Excise_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1680:9: warning: cast between incompatible function types from ‘void (*)(cfish_Vector *, size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1680 |         (cfish_method_t)CFISH_Vec_Resize_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1692:9: warning: cast between incompatible function types from ‘size_t (*)(cfish_Vector *)’ {aka ‘long unsigned int (*)(cfish_Vector *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1692 |         (cfish_method_t)CFISH_Vec_Get_Size_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1698:9: warning: cast between incompatible function types from ‘size_t (*)(cfish_Vector *)’ {aka ‘long unsigned int (*)(cfish_Vector *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1698 |         (cfish_method_t)CFISH_Vec_Get_Capacity_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1704:9: warning: cast between incompatible function types from ‘cfish_Vector * (*)(cfish_Vector *, size_t,  size_t)’ {aka ‘cfish_Vector * (*)(cfish_Vector *, long unsigned int,  long unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1704 |         (cfish_method_t)CFISH_Vec_Slice_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1710:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1710 |         (cfish_method_t)CFISH_TestBatch_Run_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1711:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1711 |         (cfish_method_t)Cfish_TestBatch_Run_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1716:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1716 |         (cfish_method_t)CFISH_TestBatchRunner_Run_Batch_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1717:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1717 |         (cfish_method_t)Cfish_TestBatchRunner_Run_Batch_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1722:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1722 |         (cfish_method_t)CFISH_TestBatchRunner_Plan_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1723:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1723 |         (cfish_method_t)Cfish_TestBatchRunner_Plan_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1728:9: warning: cast between incompatible function types from ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1728 |         (cfish_method_t)CFISH_TestBatchRunner_Get_Num_Planned_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1729:9: warning: cast between incompatible function types from ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1729 |         (cfish_method_t)Cfish_TestBatchRunner_Get_Num_Planned_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1734:9: warning: cast between incompatible function types from ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1734 |         (cfish_method_t)CFISH_TestBatchRunner_Get_Num_Tests_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1735:9: warning: cast between incompatible function types from ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1735 |         (cfish_method_t)Cfish_TestBatchRunner_Get_Num_Tests_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1740:9: warning: cast between incompatible function types from ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1740 |         (cfish_method_t)CFISH_TestBatchRunner_Get_Num_Failed_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1741:9: warning: cast between incompatible function types from ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1741 |         (cfish_method_t)Cfish_TestBatchRunner_Get_Num_Failed_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1746:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1746 |         (cfish_method_t)CFISH_TestBatchRunner_VTest_True_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1747:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1747 |         (cfish_method_t)Cfish_TestBatchRunner_VTest_True_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1752:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1752 |         (cfish_method_t)CFISH_TestBatchRunner_VTest_False_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1753:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1753 |         (cfish_method_t)Cfish_TestBatchRunner_VTest_False_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1758:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1758 |         (cfish_method_t)CFISH_TestBatchRunner_VTest_Int_Equals_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1759:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1759 |         (cfish_method_t)Cfish_TestBatchRunner_VTest_Int_Equals_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1764:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1764 |         (cfish_method_t)CFISH_TestBatchRunner_VTest_UInt_Equals_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1765:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1765 |         (cfish_method_t)Cfish_TestBatchRunner_VTest_UInt_Equals_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1770:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1770 |         (cfish_method_t)CFISH_TestBatchRunner_VTest_Float_Equals_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1771:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1771 |         (cfish_method_t)Cfish_TestBatchRunner_VTest_Float_Equals_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1776:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1776 |         (cfish_method_t)CFISH_TestBatchRunner_VTest_String_Equals_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1777:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1777 |         (cfish_method_t)Cfish_TestBatchRunner_VTest_String_Equals_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1782:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1782 |         (cfish_method_t)CFISH_TestBatchRunner_VPass_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1783:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1783 |         (cfish_method_t)Cfish_TestBatchRunner_VPass_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1788:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1788 |         (cfish_method_t)CFISH_TestBatchRunner_VFail_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1789:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1789 |         (cfish_method_t)Cfish_TestBatchRunner_VFail_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1794:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1794 |         (cfish_method_t)CFISH_TestBatchRunner_VSkip_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1795:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1795 |         (cfish_method_t)Cfish_TestBatchRunner_VSkip_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1800:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatter *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatter *, cfish_TestBatch *, unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1800 |         (cfish_method_t)CFISH_TestFormatter_Batch_Prologue_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1801:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatter *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatter *, cfish_TestBatch *, unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1801 |         (cfish_method_t)Cfish_TestFormatter_Batch_Prologue_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1806:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatter *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatter *, _Bool,  unsigned int,  const char *, va_list)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1806 |         (cfish_method_t)CFISH_TestFormatter_VTest_Result_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1807:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatter *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatter *, _Bool,  unsigned int,  const char *, va_list)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1807 |         (cfish_method_t)Cfish_TestFormatter_VTest_Result_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1812:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatter *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatter *, unsigned int,  unsigned int,  const char *, va_list)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1812 |         (cfish_method_t)CFISH_TestFormatter_VTest_Skip_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1813:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatter *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatter *, unsigned int,  unsigned int,  const char *, va_list)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1813 |         (cfish_method_t)Cfish_TestFormatter_VTest_Skip_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1818:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatter *, const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1818 |         (cfish_method_t)CFISH_TestFormatter_VTest_Comment_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1819:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatter *, const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1819 |         (cfish_method_t)Cfish_TestFormatter_VTest_Comment_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1824:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatter *, const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1824 |         (cfish_method_t)CFISH_TestFormatter_VBatch_Comment_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1825:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatter *, const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1825 |         (cfish_method_t)Cfish_TestFormatter_VBatch_Comment_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1830:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatter *, cfish_TestSuiteRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1830 |         (cfish_method_t)CFISH_TestFormatter_Summary_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1831:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatter *, cfish_TestSuiteRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1831 |         (cfish_method_t)Cfish_TestFormatter_Summary_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1836:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestSuite *, cfish_TestBatch *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1836 |         (cfish_method_t)CFISH_TestSuite_Add_Batch_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1837:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestSuite *, cfish_TestBatch *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1837 |         (cfish_method_t)Cfish_TestSuite_Add_Batch_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1842:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestSuite *, cfish_String *, cfish_TestFormatter *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1842 |         (cfish_method_t)CFISH_TestSuite_Run_Batch_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1843:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestSuite *, cfish_String *, cfish_TestFormatter *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1843 |         (cfish_method_t)Cfish_TestSuite_Run_Batch_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1848:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestSuite *, cfish_TestFormatter *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1848 |         (cfish_method_t)CFISH_TestSuite_Run_All_Batches_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1849:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestSuite *, cfish_TestFormatter *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1849 |         (cfish_method_t)Cfish_TestSuite_Run_All_Batches_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1854:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestSuiteRunner *, cfish_TestBatch *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1854 |         (cfish_method_t)CFISH_TestSuiteRunner_Run_Batch_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1855:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestSuiteRunner *, cfish_TestBatch *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1855 |         (cfish_method_t)Cfish_TestSuiteRunner_Run_Batch_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1860:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestSuiteRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1860 |         (cfish_method_t)CFISH_TestSuiteRunner_Finish_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1861:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_TestSuiteRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1861 |         (cfish_method_t)Cfish_TestSuiteRunner_Finish_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1866:9: warning: cast between incompatible function types from ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1866 |         (cfish_method_t)CFISH_TestSuiteRunner_Get_Num_Tests_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1867:9: warning: cast between incompatible function types from ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1867 |         (cfish_method_t)Cfish_TestSuiteRunner_Get_Num_Tests_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1872:9: warning: cast between incompatible function types from ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1872 |         (cfish_method_t)CFISH_TestSuiteRunner_Get_Num_Tests_Failed_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1873:9: warning: cast between incompatible function types from ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1873 |         (cfish_method_t)Cfish_TestSuiteRunner_Get_Num_Tests_Failed_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1878:9: warning: cast between incompatible function types from ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1878 |         (cfish_method_t)CFISH_TestSuiteRunner_Get_Num_Batches_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1879:9: warning: cast between incompatible function types from ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1879 |         (cfish_method_t)Cfish_TestSuiteRunner_Get_Num_Batches_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1884:9: warning: cast between incompatible function types from ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1884 |         (cfish_method_t)CFISH_TestSuiteRunner_Get_Num_Batches_Failed_IMP, /* func */
      |         ^
autogen/source/cfish_parcel.c:1885:9: warning: cast between incompatible function types from ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1885 |         (cfish_method_t)Cfish_TestSuiteRunner_Get_Num_Batches_Failed_OVERRIDE /* callback_func */
      |         ^
autogen/source/cfish_parcel.c:1893:9: warning: cast between incompatible function types from ‘void * (*)(cfish_Blob *, void *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1893 |         (cfish_method_t)CFISH_Blob_To_Host_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:1898:9: warning: cast between incompatible function types from ‘cfish_Blob * (*)(cfish_Blob *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1898 |         (cfish_method_t)CFISH_Blob_Clone_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:1903:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_Blob *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1903 |         (cfish_method_t)CFISH_Blob_Equals_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:1908:9: warning: cast between incompatible function types from ‘int32_t (*)(cfish_Blob *, cfish_Obj *)’ {aka ‘int (*)(cfish_Blob *, cfish_Obj *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1908 |         (cfish_method_t)CFISH_Blob_Compare_To_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:1918:9: warning: cast between incompatible function types from ‘void * (*)(cfish_Boolean *, void *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1918 |         (cfish_method_t)CFISH_Bool_To_Host_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:1923:9: warning: cast between incompatible function types from ‘cfish_Boolean * (*)(cfish_Boolean *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1923 |         (cfish_method_t)CFISH_Bool_Clone_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:1928:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_Boolean *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1928 |         (cfish_method_t)CFISH_Bool_Equals_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:1938:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_Boolean *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1938 |         (cfish_method_t)CFISH_Bool_To_String_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:1943:9: warning: cast between incompatible function types from ‘void * (*)(cfish_ByteBuf *, void *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1943 |         (cfish_method_t)CFISH_BB_To_Host_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:1948:9: warning: cast between incompatible function types from ‘cfish_ByteBuf * (*)(cfish_ByteBuf *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1948 |         (cfish_method_t)CFISH_BB_Clone_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:1953:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_ByteBuf *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1953 |         (cfish_method_t)CFISH_BB_Equals_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:1958:9: warning: cast between incompatible function types from ‘int32_t (*)(cfish_ByteBuf *, cfish_Obj *)’ {aka ‘int (*)(cfish_ByteBuf *, cfish_Obj *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 1958 |         (cfish_method_t)CFISH_BB_Compare_To_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:1968:9: warning: cast between incompatible function types from ‘cfish_CharBuf * (*)(cfish_CharBuf *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1968 |         (cfish_method_t)CFISH_CB_Clone_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:1978:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_CharBuf *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1978 |         (cfish_method_t)CFISH_CB_To_String_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:1993:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_Err *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1993 |         (cfish_method_t)CFISH_Err_To_String_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:1998:9: warning: cast between incompatible function types from ‘void * (*)(cfish_Hash *, void *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 1998 |         (cfish_method_t)CFISH_Hash_To_Host_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2003:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_Hash *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2003 |         (cfish_method_t)CFISH_Hash_Equals_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2023:9: warning: cast between incompatible function types from ‘void * (*)(cfish_Float *, void *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2023 |         (cfish_method_t)CFISH_Float_To_Host_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2028:9: warning: cast between incompatible function types from ‘cfish_Float * (*)(cfish_Float *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2028 |         (cfish_method_t)CFISH_Float_Clone_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2033:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_Float *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2033 |         (cfish_method_t)CFISH_Float_Equals_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2038:9: warning: cast between incompatible function types from ‘int32_t (*)(cfish_Float *, cfish_Obj *)’ {aka ‘int (*)(cfish_Float *, cfish_Obj *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 2038 |         (cfish_method_t)CFISH_Float_Compare_To_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2043:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_Float *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2043 |         (cfish_method_t)CFISH_Float_To_String_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2048:9: warning: cast between incompatible function types from ‘void * (*)(cfish_Integer *, void *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2048 |         (cfish_method_t)CFISH_Int_To_Host_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2053:9: warning: cast between incompatible function types from ‘cfish_Integer * (*)(cfish_Integer *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2053 |         (cfish_method_t)CFISH_Int_Clone_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2058:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_Integer *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2058 |         (cfish_method_t)CFISH_Int_Equals_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2063:9: warning: cast between incompatible function types from ‘int32_t (*)(cfish_Integer *, cfish_Obj *)’ {aka ‘int (*)(cfish_Integer *, cfish_Obj *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 2063 |         (cfish_method_t)CFISH_Int_Compare_To_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2068:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_Integer *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2068 |         (cfish_method_t)CFISH_Int_To_String_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2073:9: warning: cast between incompatible function types from ‘void * (*)(cfish_String *, void *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2073 |         (cfish_method_t)CFISH_Str_To_Host_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2078:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2078 |         (cfish_method_t)CFISH_Str_Clone_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2083:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_String *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2083 |         (cfish_method_t)CFISH_Str_Equals_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2088:9: warning: cast between incompatible function types from ‘int32_t (*)(cfish_String *, cfish_Obj *)’ {aka ‘int (*)(cfish_String *, cfish_Obj *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 2088 |         (cfish_method_t)CFISH_Str_Compare_To_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2098:9: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2098 |         (cfish_method_t)CFISH_Str_To_String_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2103:9: warning: cast between incompatible function types from ‘cfish_StringIterator * (*)(cfish_StringIterator *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2103 |         (cfish_method_t)CFISH_StrIter_Clone_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2108:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_StringIterator *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2108 |         (cfish_method_t)CFISH_StrIter_Equals_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2113:9: warning: cast between incompatible function types from ‘int32_t (*)(cfish_StringIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_StringIterator *, cfish_Obj *)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 2113 |         (cfish_method_t)CFISH_StrIter_Compare_To_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2123:9: warning: cast between incompatible function types from ‘void * (*)(cfish_Vector *, void *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2123 |         (cfish_method_t)CFISH_Vec_To_Host_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2128:9: warning: cast between incompatible function types from ‘cfish_Vector * (*)(cfish_Vector *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2128 |         (cfish_method_t)CFISH_Vec_Clone_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2133:9: warning: cast between incompatible function types from ‘_Bool (*)(cfish_Vector *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2133 |         (cfish_method_t)CFISH_Vec_Equals_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2148:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatterCF *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatterCF *, cfish_TestBatch *, unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 2148 |         (cfish_method_t)CFISH_TestFormatterCF_Batch_Prologue_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2153:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatterCF *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterCF *, _Bool,  unsigned int,  const char *, va_list)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 2153 |         (cfish_method_t)CFISH_TestFormatterCF_VTest_Result_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2158:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatterCF *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterCF *, unsigned int,  unsigned int,  const char *, va_list)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 2158 |         (cfish_method_t)CFISH_TestFormatterCF_VTest_Skip_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2163:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatterCF *, const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2163 |         (cfish_method_t)CFISH_TestFormatterCF_VTest_Comment_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2168:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatterCF *, const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2168 |         (cfish_method_t)CFISH_TestFormatterCF_VBatch_Comment_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2173:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatterCF *, cfish_TestSuiteRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2173 |         (cfish_method_t)CFISH_TestFormatterCF_Summary_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2178:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatterTAP *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatterTAP *, cfish_TestBatch *, unsigned int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 2178 |         (cfish_method_t)CFISH_TestFormatterTAP_Batch_Prologue_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2183:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatterTAP *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterTAP *, _Bool,  unsigned int,  const char *, va_list)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 2183 |         (cfish_method_t)CFISH_TestFormatterTAP_VTest_Result_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2188:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatterTAP *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterTAP *, unsigned int,  unsigned int,  const char *, va_list)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
 2188 |         (cfish_method_t)CFISH_TestFormatterTAP_VTest_Skip_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2193:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatterTAP *, const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2193 |         (cfish_method_t)CFISH_TestFormatterTAP_VTest_Comment_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2198:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatterTAP *, const char *, va_list)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2198 |         (cfish_method_t)CFISH_TestFormatterTAP_VBatch_Comment_IMP /* func */
      |         ^
autogen/source/cfish_parcel.c:2203:9: warning: cast between incompatible function types from ‘void (*)(cfish_TestFormatterTAP *, cfish_TestSuiteRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
 2203 |         (cfish_method_t)CFISH_TestFormatterTAP_Summary_IMP /* func */
      |         ^
gcc -Icfcore -Ixs -I. -Iautogen/include -I/usr/lib64/perl5/CORE -fPIC -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC '-std=gnu99' -D_GNU_SOURCE '-fvisibility=hidden' -c -D_REENTRANT -D_GNU_SOURCE -O2 '-flto=auto' -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang '-Werror=format-security' '-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3' -Wp,-D_GLIBCXX_ASSERTIONS '-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1' -fstack-protector-strong '-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1' '-mbranch-protection=standard' -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE '-D_FILE_OFFSET_BITS=64' -O2 '-flto=auto' -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall '-Werror=format-security' '-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3' -Wp,-D_GLIBCXX_ASSERTIONS '-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1' -fstack-protector-strong '-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1' '-mbranch-protection=standard' -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -o xs/XSBind.o xs/XSBind.c
In file included from xs/XSBind.h:23,
                 from xs/XSBind.c:27:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from autogen/include/Clownfish/String.h:44,
                 from xs/XSBind.h:26:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
In file included from /usr/lib64/perl5/CORE/perl.h:46,
                 from xs/XSBind.h:37:
/usr/lib64/perl5/CORE/thread.h: At top level:
/usr/lib64/perl5/CORE/config.h:5216:27: warning: ISO C99 does not support ‘_Thread_local’ [-Wpedantic]
 5216 | #define PERL_THREAD_LOCAL _Thread_local /**/
      |                           ^~~~~~~~~~~~~
/usr/lib64/perl5/CORE/thread.h:400:8: note: in expansion of macro ‘PERL_THREAD_LOCAL’
  400 | extern PERL_THREAD_LOCAL void *PL_current_context;
      |        ^~~~~~~~~~~~~~~~~
gcc -Icfcore -Ixs -I. -Iautogen/include -I/usr/lib64/perl5/CORE -fPIC -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC '-std=gnu99' -D_GNU_SOURCE '-fvisibility=hidden' -c -D_REENTRANT -D_GNU_SOURCE -O2 '-flto=auto' -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang '-Werror=format-security' '-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3' -Wp,-D_GLIBCXX_ASSERTIONS '-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1' -fstack-protector-strong '-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1' '-mbranch-protection=standard' -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE '-D_FILE_OFFSET_BITS=64' -O2 '-flto=auto' -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall '-Werror=format-security' '-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3' -Wp,-D_GLIBCXX_ASSERTIONS '-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1' -fstack-protector-strong '-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1' '-mbranch-protection=standard' -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -o autogen/source/cfish_perl.o autogen/source/cfish_perl.c
In file included from xs/XSBind.h:23,
                 from autogen/source/cfish_perl.c:29:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from autogen/include/Clownfish/String.h:44,
                 from xs/XSBind.h:26:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
In file included from /usr/lib64/perl5/CORE/perl.h:46,
                 from xs/XSBind.h:37:
/usr/lib64/perl5/CORE/thread.h: At top level:
/usr/lib64/perl5/CORE/config.h:5216:27: warning: ISO C99 does not support ‘_Thread_local’ [-Wpedantic]
 5216 | #define PERL_THREAD_LOCAL _Thread_local /**/
      |                           ^~~~~~~~~~~~~
/usr/lib64/perl5/CORE/thread.h:400:8: note: in expansion of macro ‘PERL_THREAD_LOCAL’
  400 | extern PERL_THREAD_LOCAL void *PL_current_context;
      |        ^~~~~~~~~~~~~~~~~
In file included from autogen/source/cfish_perl.c:48:
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
In file included from autogen/source/cfish_perl.c:49:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
In file included from autogen/source/cfish_perl.c:50:
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:173:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatter *, void *)’ [-Wcast-function-type]
  173 |     const CFISH_TestFormatter_To_Host_t method = (CFISH_TestFormatter_To_Host_t)cfish_obj_method(self, CFISH_TestFormatter_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:180:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatter *)’ [-Wcast-function-type]
  180 |     const CFISH_TestFormatter_Clone_t method = (CFISH_TestFormatter_Clone_t)cfish_obj_method(self, CFISH_TestFormatter_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:187:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatter *, cfish_Obj *)’ [-Wcast-function-type]
  187 |     const CFISH_TestFormatter_Equals_t method = (CFISH_TestFormatter_Equals_t)cfish_obj_method(self, CFISH_TestFormatter_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:194:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatter *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatter *, cfish_Obj *)’} [-Wcast-function-type]
  194 |     const CFISH_TestFormatter_Compare_To_t method = (CFISH_TestFormatter_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatter_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:208:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatter *)’ [-Wcast-function-type]
  208 |     const CFISH_TestFormatter_To_String_t method = (CFISH_TestFormatter_To_String_t)cfish_obj_method(self, CFISH_TestFormatter_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:215:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatter *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  215 |     const CFISH_TestFormatter_Batch_Prologue_t method = (CFISH_TestFormatter_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatter_Batch_Prologue_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:222:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatter *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  222 |     const CFISH_TestFormatter_VTest_Result_t method = (CFISH_TestFormatter_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Result_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:229:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatter *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  229 |     const CFISH_TestFormatter_VTest_Skip_t method = (CFISH_TestFormatter_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Skip_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:236:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, const char *, va_list)’ [-Wcast-function-type]
  236 |     const CFISH_TestFormatter_VTest_Comment_t method = (CFISH_TestFormatter_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatter_VTest_Comment_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:243:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, const char *, va_list)’ [-Wcast-function-type]
  243 |     const CFISH_TestFormatter_VBatch_Comment_t method = (CFISH_TestFormatter_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatter_VBatch_Comment_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatter_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:250:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatter *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  250 |     const CFISH_TestFormatter_Summary_t method = (CFISH_TestFormatter_Summary_t)cfish_obj_method(self, CFISH_TestFormatter_Summary_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:459:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatterCF *, void *)’ [-Wcast-function-type]
  459 |     const CFISH_TestFormatterCF_To_Host_t method = (CFISH_TestFormatterCF_To_Host_t)cfish_obj_method(self, CFISH_TestFormatterCF_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:466:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatterCF *)’ [-Wcast-function-type]
  466 |     const CFISH_TestFormatterCF_Clone_t method = (CFISH_TestFormatterCF_Clone_t)cfish_obj_method(self, CFISH_TestFormatterCF_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:473:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatterCF *, cfish_Obj *)’ [-Wcast-function-type]
  473 |     const CFISH_TestFormatterCF_Equals_t method = (CFISH_TestFormatterCF_Equals_t)cfish_obj_method(self, CFISH_TestFormatterCF_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:480:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatterCF *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatterCF *, cfish_Obj *)’} [-Wcast-function-type]
  480 |     const CFISH_TestFormatterCF_Compare_To_t method = (CFISH_TestFormatterCF_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatterCF_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:494:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatterCF *)’ [-Wcast-function-type]
  494 |     const CFISH_TestFormatterCF_To_String_t method = (CFISH_TestFormatterCF_To_String_t)cfish_obj_method(self, CFISH_TestFormatterCF_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:501:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatterCF *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  501 |     const CFISH_TestFormatterCF_Batch_Prologue_t method = (CFISH_TestFormatterCF_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatterCF_Batch_Prologue_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:508:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterCF *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  508 |     const CFISH_TestFormatterCF_VTest_Result_t method = (CFISH_TestFormatterCF_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Result_OFFSET);
      |                                                         ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:515:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterCF *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  515 |     const CFISH_TestFormatterCF_VTest_Skip_t method = (CFISH_TestFormatterCF_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Skip_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:522:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, const char *, va_list)’ [-Wcast-function-type]
  522 |     const CFISH_TestFormatterCF_VTest_Comment_t method = (CFISH_TestFormatterCF_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatterCF_VTest_Comment_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:529:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, const char *, va_list)’ [-Wcast-function-type]
  529 |     const CFISH_TestFormatterCF_VBatch_Comment_t method = (CFISH_TestFormatterCF_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatterCF_VBatch_Comment_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterCF_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:536:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterCF *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  536 |     const CFISH_TestFormatterCF_Summary_t method = (CFISH_TestFormatterCF_Summary_t)cfish_obj_method(self, CFISH_TestFormatterCF_Summary_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_To_Host’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:725:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestFormatterTAP *, void *)’ [-Wcast-function-type]
  725 |     const CFISH_TestFormatterTAP_To_Host_t method = (CFISH_TestFormatterTAP_To_Host_t)cfish_obj_method(self, CFISH_TestFormatterTAP_To_Host_OFFSET);
      |                                                     ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Clone’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:732:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestFormatterTAP *)’ [-Wcast-function-type]
  732 |     const CFISH_TestFormatterTAP_Clone_t method = (CFISH_TestFormatterTAP_Clone_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Clone_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Equals’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:739:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestFormatterTAP *, cfish_Obj *)’ [-Wcast-function-type]
  739 |     const CFISH_TestFormatterTAP_Equals_t method = (CFISH_TestFormatterTAP_Equals_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Equals_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Compare_To’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:746:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestFormatterTAP *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestFormatterTAP *, cfish_Obj *)’} [-Wcast-function-type]
  746 |     const CFISH_TestFormatterTAP_Compare_To_t method = (CFISH_TestFormatterTAP_Compare_To_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Compare_To_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_To_String’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:760:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestFormatterTAP *)’ [-Wcast-function-type]
  760 |     const CFISH_TestFormatterTAP_To_String_t method = (CFISH_TestFormatterTAP_To_String_t)cfish_obj_method(self, CFISH_TestFormatterTAP_To_String_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Batch_Prologue’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:767:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestFormatterTAP *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  767 |     const CFISH_TestFormatterTAP_Batch_Prologue_t method = (CFISH_TestFormatterTAP_Batch_Prologue_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Batch_Prologue_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Result’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:774:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, _Bool,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterTAP *, _Bool,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  774 |     const CFISH_TestFormatterTAP_VTest_Result_t method = (CFISH_TestFormatterTAP_VTest_Result_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Result_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Skip’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:781:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, uint32_t,  uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestFormatterTAP *, unsigned int,  unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  781 |     const CFISH_TestFormatterTAP_VTest_Skip_t method = (CFISH_TestFormatterTAP_VTest_Skip_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Skip_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VTest_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:788:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, const char *, va_list)’ [-Wcast-function-type]
  788 |     const CFISH_TestFormatterTAP_VTest_Comment_t method = (CFISH_TestFormatterTAP_VTest_Comment_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VTest_Comment_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_VBatch_Comment’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:795:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, const char *, va_list)’ [-Wcast-function-type]
  795 |     const CFISH_TestFormatterTAP_VBatch_Comment_t method = (CFISH_TestFormatterTAP_VBatch_Comment_t)cfish_obj_method(self, CFISH_TestFormatterTAP_VBatch_Comment_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestFormatter.h: In function ‘CFISH_TestFormatterTAP_Summary’:
autogen/include/Clownfish/TestHarness/TestFormatter.h:802:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestFormatterTAP *, cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  802 |     const CFISH_TestFormatterTAP_Summary_t method = (CFISH_TestFormatterTAP_Summary_t)cfish_obj_method(self, CFISH_TestFormatterTAP_Summary_OFFSET);
      |                                                     ^
In file included from autogen/source/cfish_perl.c:53:
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_To_Host’:
autogen/include/Clownfish/TestHarness/TestSuite.h:153:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestSuite *, void *)’ [-Wcast-function-type]
  153 |     const CFISH_TestSuite_To_Host_t method = (CFISH_TestSuite_To_Host_t)cfish_obj_method(self, CFISH_TestSuite_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Clone’:
autogen/include/Clownfish/TestHarness/TestSuite.h:160:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestSuite *)’ [-Wcast-function-type]
  160 |     const CFISH_TestSuite_Clone_t method = (CFISH_TestSuite_Clone_t)cfish_obj_method(self, CFISH_TestSuite_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Equals’:
autogen/include/Clownfish/TestHarness/TestSuite.h:167:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuite *, cfish_Obj *)’ [-Wcast-function-type]
  167 |     const CFISH_TestSuite_Equals_t method = (CFISH_TestSuite_Equals_t)cfish_obj_method(self, CFISH_TestSuite_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Compare_To’:
autogen/include/Clownfish/TestHarness/TestSuite.h:174:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestSuite *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestSuite *, cfish_Obj *)’} [-Wcast-function-type]
  174 |     const CFISH_TestSuite_Compare_To_t method = (CFISH_TestSuite_Compare_To_t)cfish_obj_method(self, CFISH_TestSuite_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_To_String’:
autogen/include/Clownfish/TestHarness/TestSuite.h:188:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestSuite *)’ [-Wcast-function-type]
  188 |     const CFISH_TestSuite_To_String_t method = (CFISH_TestSuite_To_String_t)cfish_obj_method(self, CFISH_TestSuite_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Add_Batch’:
autogen/include/Clownfish/TestHarness/TestSuite.h:195:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestSuite *, cfish_TestBatch *)’ [-Wcast-function-type]
  195 |     const CFISH_TestSuite_Add_Batch_t method = (CFISH_TestSuite_Add_Batch_t)cfish_obj_method(self, CFISH_TestSuite_Add_Batch_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestSuite.h:202:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuite *, cfish_String *, cfish_TestFormatter *)’ [-Wcast-function-type]
  202 |     const CFISH_TestSuite_Run_Batch_t method = (CFISH_TestSuite_Run_Batch_t)cfish_obj_method(self, CFISH_TestSuite_Run_Batch_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Run_All_Batches’:
autogen/include/Clownfish/TestHarness/TestSuite.h:209:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuite *, cfish_TestFormatter *)’ [-Wcast-function-type]
  209 |     const CFISH_TestSuite_Run_All_Batches_t method = (CFISH_TestSuite_Run_All_Batches_t)cfish_obj_method(self, CFISH_TestSuite_Run_All_Batches_OFFSET);
      |                                                      ^
In file included from autogen/source/cfish_perl.c:54:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:175:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestSuiteRunner *, void *)’ [-Wcast-function-type]
  175 |     const CFISH_TestSuiteRunner_To_Host_t method = (CFISH_TestSuiteRunner_To_Host_t)cfish_obj_method(self, CFISH_TestSuiteRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:182:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  182 |     const CFISH_TestSuiteRunner_Clone_t method = (CFISH_TestSuiteRunner_Clone_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:189:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuiteRunner *, cfish_Obj *)’ [-Wcast-function-type]
  189 |     const CFISH_TestSuiteRunner_Equals_t method = (CFISH_TestSuiteRunner_Equals_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:196:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestSuiteRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestSuiteRunner *, cfish_Obj *)’} [-Wcast-function-type]
  196 |     const CFISH_TestSuiteRunner_Compare_To_t method = (CFISH_TestSuiteRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:210:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  210 |     const CFISH_TestSuiteRunner_To_String_t method = (CFISH_TestSuiteRunner_To_String_t)cfish_obj_method(self, CFISH_TestSuiteRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:217:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuiteRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  217 |     const CFISH_TestSuiteRunner_Run_Batch_t method = (CFISH_TestSuiteRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Finish’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:224:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuiteRunner *)’ [-Wcast-function-type]
  224 |     const CFISH_TestSuiteRunner_Finish_t method = (CFISH_TestSuiteRunner_Finish_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Finish_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:231:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  231 |     const CFISH_TestSuiteRunner_Get_Num_Tests_t method = (CFISH_TestSuiteRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Tests_Failed’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:238:65: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  238 |     const CFISH_TestSuiteRunner_Get_Num_Tests_Failed_t method = (CFISH_TestSuiteRunner_Get_Num_Tests_Failed_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Tests_Failed_OFFSET);
      |                                                                 ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Batches’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:245:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  245 |     const CFISH_TestSuiteRunner_Get_Num_Batches_t method = (CFISH_TestSuiteRunner_Get_Num_Batches_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Batches_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h: In function ‘CFISH_TestSuiteRunner_Get_Num_Batches_Failed’:
autogen/include/Clownfish/TestHarness/TestSuiteRunner.h:252:67: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestSuiteRunner *)’ {aka ‘unsigned int (*)(cfish_TestSuiteRunner *)’} [-Wcast-function-type]
  252 |     const CFISH_TestSuiteRunner_Get_Num_Batches_Failed_t method = (CFISH_TestSuiteRunner_Get_Num_Batches_Failed_t)cfish_obj_method(self, CFISH_TestSuiteRunner_Get_Num_Batches_Failed_OFFSET);
      |                                                                   ^
autogen/source/cfish_perl.c: At top level:
autogen/source/cfish_perl.c:111:1: warning: ‘S_finish_callback_f64’ defined but not used [-Wunused-function]
  111 | S_finish_callback_f64(pTHX_ const char *meth_name) {
      | ^~~~~~~~~~~~~~~~~~~~~
gcc -Icfcore -Ixs -I. -Iautogen/include -I/usr/lib64/perl5/CORE '-DVERSION="0.6.3"' '-DXS_VERSION="0.6.3"' -fPIC -c -D_REENTRANT -D_GNU_SOURCE -O2 '-flto=auto' -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang '-Werror=format-security' '-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3' -Wp,-D_GLIBCXX_ASSERTIONS '-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1' -fstack-protector-strong '-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1' '-mbranch-protection=standard' -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE '-D_FILE_OFFSET_BITS=64' -O2 '-flto=auto' -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall '-Werror=format-security' '-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3' -Wp,-D_GLIBCXX_ASSERTIONS '-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1' -fstack-protector-strong '-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1' '-mbranch-protection=standard' -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -o lib/Clownfish.o lib/Clownfish.c
gcc -lpthread -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now '-specs=/usr/lib/rpm/redhat/redhat-hardened-ld' '-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1' '-Wl,--build-id=sha1' -L/usr/local/lib -fstack-protector-strong -lperl -o blib/arch/auto/Clownfish/Clownfish.so lib/Clownfish.o cfcore/Clownfish.o cfcore/Clownfish/Blob.o cfcore/Clownfish/Boolean.o cfcore/Clownfish/ByteBuf.o cfcore/Clownfish/CharBuf.o cfcore/Clownfish/Class.o cfcore/Clownfish/Err.o cfcore/Clownfish/Hash.o cfcore/Clownfish/HashIterator.o cfcore/Clownfish/LockFreeRegistry.o cfcore/Clownfish/Method.o cfcore/Clownfish/Num.o cfcore/Clownfish/Obj.o cfcore/Clownfish/PtrHash.o cfcore/Clownfish/String.o cfcore/Clownfish/Vector.o cfcore/Clownfish/TestHarness/TestBatchRunner.o cfcore/Clownfish/TestHarness/TestFormatter.o cfcore/Clownfish/TestHarness/TestSuite.o cfcore/Clownfish/TestHarness/TestSuiteRunner.o cfcore/Clownfish/TestHarness/TestUtils.o cfcore/Clownfish/Util/Atomic.o cfcore/Clownfish/Util/Memory.o cfcore/Clownfish/Util/SortUtils.o autogen/source/cfish_parcel.o xs/XSBind.o autogen/source/cfish_perl.o -l m
make test_objects
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/TestClownfish.c -c -o cftest/TestClownfish.o
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test.c -c -o cftest/Clownfish/Test.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from cftest/Clownfish/Test.c:22:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
In file included from cftest/Clownfish/Test.c:23:
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_To_Host’:
autogen/include/Clownfish/TestHarness/TestSuite.h:153:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestSuite *, void *)’ [-Wcast-function-type]
  153 |     const CFISH_TestSuite_To_Host_t method = (CFISH_TestSuite_To_Host_t)cfish_obj_method(self, CFISH_TestSuite_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Clone’:
autogen/include/Clownfish/TestHarness/TestSuite.h:160:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestSuite *)’ [-Wcast-function-type]
  160 |     const CFISH_TestSuite_Clone_t method = (CFISH_TestSuite_Clone_t)cfish_obj_method(self, CFISH_TestSuite_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Equals’:
autogen/include/Clownfish/TestHarness/TestSuite.h:167:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuite *, cfish_Obj *)’ [-Wcast-function-type]
  167 |     const CFISH_TestSuite_Equals_t method = (CFISH_TestSuite_Equals_t)cfish_obj_method(self, CFISH_TestSuite_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Compare_To’:
autogen/include/Clownfish/TestHarness/TestSuite.h:174:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestSuite *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestSuite *, cfish_Obj *)’} [-Wcast-function-type]
  174 |     const CFISH_TestSuite_Compare_To_t method = (CFISH_TestSuite_Compare_To_t)cfish_obj_method(self, CFISH_TestSuite_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_To_String’:
autogen/include/Clownfish/TestHarness/TestSuite.h:188:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestSuite *)’ [-Wcast-function-type]
  188 |     const CFISH_TestSuite_To_String_t method = (CFISH_TestSuite_To_String_t)cfish_obj_method(self, CFISH_TestSuite_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Add_Batch’:
autogen/include/Clownfish/TestHarness/TestSuite.h:195:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestSuite *, cfish_TestBatch *)’ [-Wcast-function-type]
  195 |     const CFISH_TestSuite_Add_Batch_t method = (CFISH_TestSuite_Add_Batch_t)cfish_obj_method(self, CFISH_TestSuite_Add_Batch_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestSuite.h:202:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuite *, cfish_String *, cfish_TestFormatter *)’ [-Wcast-function-type]
  202 |     const CFISH_TestSuite_Run_Batch_t method = (CFISH_TestSuite_Run_Batch_t)cfish_obj_method(self, CFISH_TestSuite_Run_Batch_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestSuite.h: In function ‘CFISH_TestSuite_Run_All_Batches’:
autogen/include/Clownfish/TestHarness/TestSuite.h:209:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestSuite *, cfish_TestFormatter *)’ [-Wcast-function-type]
  209 |     const CFISH_TestSuite_Run_All_Batches_t method = (CFISH_TestSuite_Run_All_Batches_t)cfish_obj_method(self, CFISH_TestSuite_Run_All_Batches_OFFSET);
      |                                                      ^
In file included from cftest/Clownfish/Test.c:25:
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_To_Host’:
autogen/include/Clownfish/Test/TestBlob.h:130:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestBlob *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestBlob_To_Host_t method = (TESTCFISH_TestBlob_To_Host_t)cfish_obj_method(self, TESTCFISH_TestBlob_To_Host_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_Clone’:
autogen/include/Clownfish/Test/TestBlob.h:137:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestBlob *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestBlob_Clone_t method = (TESTCFISH_TestBlob_Clone_t)cfish_obj_method(self, TESTCFISH_TestBlob_Clone_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_Equals’:
autogen/include/Clownfish/Test/TestBlob.h:144:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestBlob *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestBlob_Equals_t method = (TESTCFISH_TestBlob_Equals_t)cfish_obj_method(self, TESTCFISH_TestBlob_Equals_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_Compare_To’:
autogen/include/Clownfish/Test/TestBlob.h:151:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestBlob *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestBlob *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestBlob_Compare_To_t method = (TESTCFISH_TestBlob_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestBlob_Compare_To_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_To_String’:
autogen/include/Clownfish/Test/TestBlob.h:165:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestBlob *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestBlob_To_String_t method = (TESTCFISH_TestBlob_To_String_t)cfish_obj_method(self, TESTCFISH_TestBlob_To_String_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_Run’:
autogen/include/Clownfish/Test/TestBlob.h:172:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestBlob *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestBlob_Run_t method = (TESTCFISH_TestBlob_Run_t)cfish_obj_method(self, TESTCFISH_TestBlob_Run_OFFSET);
      |                                             ^
In file included from cftest/Clownfish/Test.c:26:
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_To_Host’:
autogen/include/Clownfish/Test/TestBoolean.h:130:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestBoolean *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestBoolean_To_Host_t method = (TESTCFISH_TestBoolean_To_Host_t)cfish_obj_method(self, TESTCFISH_TestBoolean_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_Clone’:
autogen/include/Clownfish/Test/TestBoolean.h:137:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestBoolean *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestBoolean_Clone_t method = (TESTCFISH_TestBoolean_Clone_t)cfish_obj_method(self, TESTCFISH_TestBoolean_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_Equals’:
autogen/include/Clownfish/Test/TestBoolean.h:144:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestBoolean *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestBoolean_Equals_t method = (TESTCFISH_TestBoolean_Equals_t)cfish_obj_method(self, TESTCFISH_TestBoolean_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_Compare_To’:
autogen/include/Clownfish/Test/TestBoolean.h:151:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestBoolean *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestBoolean *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestBoolean_Compare_To_t method = (TESTCFISH_TestBoolean_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestBoolean_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_To_String’:
autogen/include/Clownfish/Test/TestBoolean.h:165:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestBoolean *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestBoolean_To_String_t method = (TESTCFISH_TestBoolean_To_String_t)cfish_obj_method(self, TESTCFISH_TestBoolean_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_Run’:
autogen/include/Clownfish/Test/TestBoolean.h:172:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestBoolean *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestBoolean_Run_t method = (TESTCFISH_TestBoolean_Run_t)cfish_obj_method(self, TESTCFISH_TestBoolean_Run_OFFSET);
      |                                                ^
In file included from cftest/Clownfish/Test.c:27:
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_To_Host’:
autogen/include/Clownfish/Test/TestByteBuf.h:130:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestByteBuf *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestBB_To_Host_t method = (TESTCFISH_TestBB_To_Host_t)cfish_obj_method(self, TESTCFISH_TestBB_To_Host_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_Clone’:
autogen/include/Clownfish/Test/TestByteBuf.h:137:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestByteBuf *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestBB_Clone_t method = (TESTCFISH_TestBB_Clone_t)cfish_obj_method(self, TESTCFISH_TestBB_Clone_OFFSET);
      |                                             ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_Equals’:
autogen/include/Clownfish/Test/TestByteBuf.h:144:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestByteBuf *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestBB_Equals_t method = (TESTCFISH_TestBB_Equals_t)cfish_obj_method(self, TESTCFISH_TestBB_Equals_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_Compare_To’:
autogen/include/Clownfish/Test/TestByteBuf.h:151:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestByteBuf *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestByteBuf *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestBB_Compare_To_t method = (TESTCFISH_TestBB_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestBB_Compare_To_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_To_String’:
autogen/include/Clownfish/Test/TestByteBuf.h:165:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestByteBuf *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestBB_To_String_t method = (TESTCFISH_TestBB_To_String_t)cfish_obj_method(self, TESTCFISH_TestBB_To_String_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_Run’:
autogen/include/Clownfish/Test/TestByteBuf.h:172:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestByteBuf *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestBB_Run_t method = (TESTCFISH_TestBB_Run_t)cfish_obj_method(self, TESTCFISH_TestBB_Run_OFFSET);
      |                                           ^
In file included from cftest/Clownfish/Test.c:28:
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_To_Host’:
autogen/include/Clownfish/Test/TestString.h:130:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestString *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestStr_To_Host_t method = (TESTCFISH_TestStr_To_Host_t)cfish_obj_method(self, TESTCFISH_TestStr_To_Host_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_Clone’:
autogen/include/Clownfish/Test/TestString.h:137:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestString *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestStr_Clone_t method = (TESTCFISH_TestStr_Clone_t)cfish_obj_method(self, TESTCFISH_TestStr_Clone_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_Equals’:
autogen/include/Clownfish/Test/TestString.h:144:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestString *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestStr_Equals_t method = (TESTCFISH_TestStr_Equals_t)cfish_obj_method(self, TESTCFISH_TestStr_Equals_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_Compare_To’:
autogen/include/Clownfish/Test/TestString.h:151:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestString *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestString *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestStr_Compare_To_t method = (TESTCFISH_TestStr_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestStr_Compare_To_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_To_String’:
autogen/include/Clownfish/Test/TestString.h:165:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestString *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestStr_To_String_t method = (TESTCFISH_TestStr_To_String_t)cfish_obj_method(self, TESTCFISH_TestStr_To_String_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_Run’:
autogen/include/Clownfish/Test/TestString.h:172:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestString *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestStr_Run_t method = (TESTCFISH_TestStr_Run_t)cfish_obj_method(self, TESTCFISH_TestStr_Run_OFFSET);
      |                                            ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_To_Host’:
autogen/include/Clownfish/Test/TestString.h:311:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_StringCallbackTest *, void *)’ [-Wcast-function-type]
  311 |     const TESTCFISH_StrCbTest_To_Host_t method = (TESTCFISH_StrCbTest_To_Host_t)cfish_obj_method(self, TESTCFISH_StrCbTest_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_Clone’:
autogen/include/Clownfish/Test/TestString.h:318:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_StringCallbackTest *)’ [-Wcast-function-type]
  318 |     const TESTCFISH_StrCbTest_Clone_t method = (TESTCFISH_StrCbTest_Clone_t)cfish_obj_method(self, TESTCFISH_StrCbTest_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_Equals’:
autogen/include/Clownfish/Test/TestString.h:325:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_StringCallbackTest *, cfish_Obj *)’ [-Wcast-function-type]
  325 |     const TESTCFISH_StrCbTest_Equals_t method = (TESTCFISH_StrCbTest_Equals_t)cfish_obj_method(self, TESTCFISH_StrCbTest_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_Compare_To’:
autogen/include/Clownfish/Test/TestString.h:332:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_StringCallbackTest *, cfish_Obj *)’ {aka ‘int (*)(testcfish_StringCallbackTest *, cfish_Obj *)’} [-Wcast-function-type]
  332 |     const TESTCFISH_StrCbTest_Compare_To_t method = (TESTCFISH_StrCbTest_Compare_To_t)cfish_obj_method(self, TESTCFISH_StrCbTest_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_To_String’:
autogen/include/Clownfish/Test/TestString.h:346:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_StringCallbackTest *)’ [-Wcast-function-type]
  346 |     const TESTCFISH_StrCbTest_To_String_t method = (TESTCFISH_StrCbTest_To_String_t)cfish_obj_method(self, TESTCFISH_StrCbTest_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_Unchanged_By_Callback’:
autogen/include/Clownfish/Test/TestString.h:353:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_StringCallbackTest *, cfish_String *)’ [-Wcast-function-type]
  353 |     const TESTCFISH_StrCbTest_Unchanged_By_Callback_t method = (TESTCFISH_StrCbTest_Unchanged_By_Callback_t)cfish_obj_method(self, TESTCFISH_StrCbTest_Unchanged_By_Callback_OFFSET);
      |                                                                ^
In file included from cftest/Clownfish/Test.c:29:
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_To_Host’:
autogen/include/Clownfish/Test/TestCharBuf.h:130:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestCharBuf *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestCB_To_Host_t method = (TESTCFISH_TestCB_To_Host_t)cfish_obj_method(self, TESTCFISH_TestCB_To_Host_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_Clone’:
autogen/include/Clownfish/Test/TestCharBuf.h:137:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestCharBuf *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestCB_Clone_t method = (TESTCFISH_TestCB_Clone_t)cfish_obj_method(self, TESTCFISH_TestCB_Clone_OFFSET);
      |                                             ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_Equals’:
autogen/include/Clownfish/Test/TestCharBuf.h:144:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestCharBuf *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestCB_Equals_t method = (TESTCFISH_TestCB_Equals_t)cfish_obj_method(self, TESTCFISH_TestCB_Equals_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_Compare_To’:
autogen/include/Clownfish/Test/TestCharBuf.h:151:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestCharBuf *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestCharBuf *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestCB_Compare_To_t method = (TESTCFISH_TestCB_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestCB_Compare_To_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_To_String’:
autogen/include/Clownfish/Test/TestCharBuf.h:165:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestCharBuf *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestCB_To_String_t method = (TESTCFISH_TestCB_To_String_t)cfish_obj_method(self, TESTCFISH_TestCB_To_String_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_Run’:
autogen/include/Clownfish/Test/TestCharBuf.h:172:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestCharBuf *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestCB_Run_t method = (TESTCFISH_TestCB_Run_t)cfish_obj_method(self, TESTCFISH_TestCB_Run_OFFSET);
      |                                           ^
In file included from cftest/Clownfish/Test.c:30:
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_To_Host’:
autogen/include/Clownfish/Test/TestClass.h:130:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestClass *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestClass_To_Host_t method = (TESTCFISH_TestClass_To_Host_t)cfish_obj_method(self, TESTCFISH_TestClass_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_Clone’:
autogen/include/Clownfish/Test/TestClass.h:137:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestClass *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestClass_Clone_t method = (TESTCFISH_TestClass_Clone_t)cfish_obj_method(self, TESTCFISH_TestClass_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_Equals’:
autogen/include/Clownfish/Test/TestClass.h:144:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestClass *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestClass_Equals_t method = (TESTCFISH_TestClass_Equals_t)cfish_obj_method(self, TESTCFISH_TestClass_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_Compare_To’:
autogen/include/Clownfish/Test/TestClass.h:151:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestClass *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestClass *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestClass_Compare_To_t method = (TESTCFISH_TestClass_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestClass_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_To_String’:
autogen/include/Clownfish/Test/TestClass.h:165:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestClass *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestClass_To_String_t method = (TESTCFISH_TestClass_To_String_t)cfish_obj_method(self, TESTCFISH_TestClass_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_Run’:
autogen/include/Clownfish/Test/TestClass.h:172:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestClass *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestClass_Run_t method = (TESTCFISH_TestClass_Run_t)cfish_obj_method(self, TESTCFISH_TestClass_Run_OFFSET);
      |                                              ^
In file included from cftest/Clownfish/Test.c:31:
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_To_Host’:
autogen/include/Clownfish/Test/TestErr.h:130:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestErr *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestErr_To_Host_t method = (TESTCFISH_TestErr_To_Host_t)cfish_obj_method(self, TESTCFISH_TestErr_To_Host_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_Clone’:
autogen/include/Clownfish/Test/TestErr.h:137:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestErr *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestErr_Clone_t method = (TESTCFISH_TestErr_Clone_t)cfish_obj_method(self, TESTCFISH_TestErr_Clone_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_Equals’:
autogen/include/Clownfish/Test/TestErr.h:144:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestErr *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestErr_Equals_t method = (TESTCFISH_TestErr_Equals_t)cfish_obj_method(self, TESTCFISH_TestErr_Equals_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_Compare_To’:
autogen/include/Clownfish/Test/TestErr.h:151:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestErr *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestErr *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestErr_Compare_To_t method = (TESTCFISH_TestErr_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestErr_Compare_To_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_To_String’:
autogen/include/Clownfish/Test/TestErr.h:165:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestErr *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestErr_To_String_t method = (TESTCFISH_TestErr_To_String_t)cfish_obj_method(self, TESTCFISH_TestErr_To_String_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_Run’:
autogen/include/Clownfish/Test/TestErr.h:172:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestErr *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestErr_Run_t method = (TESTCFISH_TestErr_Run_t)cfish_obj_method(self, TESTCFISH_TestErr_Run_OFFSET);
      |                                            ^
In file included from cftest/Clownfish/Test.c:32:
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_To_Host’:
autogen/include/Clownfish/Test/TestHash.h:130:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestHash *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestHash_To_Host_t method = (TESTCFISH_TestHash_To_Host_t)cfish_obj_method(self, TESTCFISH_TestHash_To_Host_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_Clone’:
autogen/include/Clownfish/Test/TestHash.h:137:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHash *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestHash_Clone_t method = (TESTCFISH_TestHash_Clone_t)cfish_obj_method(self, TESTCFISH_TestHash_Clone_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_Equals’:
autogen/include/Clownfish/Test/TestHash.h:144:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHash *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestHash_Equals_t method = (TESTCFISH_TestHash_Equals_t)cfish_obj_method(self, TESTCFISH_TestHash_Equals_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_Compare_To’:
autogen/include/Clownfish/Test/TestHash.h:151:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHash *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestHash *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestHash_Compare_To_t method = (TESTCFISH_TestHash_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestHash_Compare_To_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_To_String’:
autogen/include/Clownfish/Test/TestHash.h:165:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHash *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestHash_To_String_t method = (TESTCFISH_TestHash_To_String_t)cfish_obj_method(self, TESTCFISH_TestHash_To_String_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_Run’:
autogen/include/Clownfish/Test/TestHash.h:172:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestHash *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestHash_Run_t method = (TESTCFISH_TestHash_Run_t)cfish_obj_method(self, TESTCFISH_TestHash_Run_OFFSET);
      |                                             ^
In file included from cftest/Clownfish/Test.c:33:
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_To_Host’:
autogen/include/Clownfish/Test/TestHashIterator.h:130:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestHashIterator *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestHashIterator_To_Host_t method = (TESTCFISH_TestHashIterator_To_Host_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_To_Host_OFFSET);
      |                                                         ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_Clone’:
autogen/include/Clownfish/Test/TestHashIterator.h:137:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHashIterator *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestHashIterator_Clone_t method = (TESTCFISH_TestHashIterator_Clone_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_Clone_OFFSET);
      |                                                       ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_Equals’:
autogen/include/Clownfish/Test/TestHashIterator.h:144:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHashIterator *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestHashIterator_Equals_t method = (TESTCFISH_TestHashIterator_Equals_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_Equals_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_Compare_To’:
autogen/include/Clownfish/Test/TestHashIterator.h:151:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHashIterator *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestHashIterator *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestHashIterator_Compare_To_t method = (TESTCFISH_TestHashIterator_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_Compare_To_OFFSET);
      |                                                            ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_To_String’:
autogen/include/Clownfish/Test/TestHashIterator.h:165:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHashIterator *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestHashIterator_To_String_t method = (TESTCFISH_TestHashIterator_To_String_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_To_String_OFFSET);
      |                                                           ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_Run’:
autogen/include/Clownfish/Test/TestHashIterator.h:172:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestHashIterator *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestHashIterator_Run_t method = (TESTCFISH_TestHashIterator_Run_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_Run_OFFSET);
      |                                                     ^
In file included from cftest/Clownfish/Test.c:34:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_To_Host’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:130:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestLockFreeRegistry *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestLFReg_To_Host_t method = (TESTCFISH_TestLFReg_To_Host_t)cfish_obj_method(self, TESTCFISH_TestLFReg_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_Clone’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:137:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestLockFreeRegistry *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestLFReg_Clone_t method = (TESTCFISH_TestLFReg_Clone_t)cfish_obj_method(self, TESTCFISH_TestLFReg_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_Equals’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:144:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestLockFreeRegistry *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestLFReg_Equals_t method = (TESTCFISH_TestLFReg_Equals_t)cfish_obj_method(self, TESTCFISH_TestLFReg_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_Compare_To’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:151:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestLockFreeRegistry *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestLockFreeRegistry *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestLFReg_Compare_To_t method = (TESTCFISH_TestLFReg_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestLFReg_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_To_String’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:165:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestLockFreeRegistry *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestLFReg_To_String_t method = (TESTCFISH_TestLFReg_To_String_t)cfish_obj_method(self, TESTCFISH_TestLFReg_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_Run’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:172:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestLockFreeRegistry *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestLFReg_Run_t method = (TESTCFISH_TestLFReg_Run_t)cfish_obj_method(self, TESTCFISH_TestLFReg_Run_OFFSET);
      |                                              ^
In file included from cftest/Clownfish/Test.c:35:
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_To_Host’:
autogen/include/Clownfish/Test/TestMethod.h:130:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestMethod *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestMethod_To_Host_t method = (TESTCFISH_TestMethod_To_Host_t)cfish_obj_method(self, TESTCFISH_TestMethod_To_Host_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_Clone’:
autogen/include/Clownfish/Test/TestMethod.h:137:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestMethod *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestMethod_Clone_t method = (TESTCFISH_TestMethod_Clone_t)cfish_obj_method(self, TESTCFISH_TestMethod_Clone_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_Equals’:
autogen/include/Clownfish/Test/TestMethod.h:144:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestMethod *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestMethod_Equals_t method = (TESTCFISH_TestMethod_Equals_t)cfish_obj_method(self, TESTCFISH_TestMethod_Equals_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_Compare_To’:
autogen/include/Clownfish/Test/TestMethod.h:151:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestMethod *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestMethod *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestMethod_Compare_To_t method = (TESTCFISH_TestMethod_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestMethod_Compare_To_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_To_String’:
autogen/include/Clownfish/Test/TestMethod.h:165:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestMethod *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestMethod_To_String_t method = (TESTCFISH_TestMethod_To_String_t)cfish_obj_method(self, TESTCFISH_TestMethod_To_String_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_Run’:
autogen/include/Clownfish/Test/TestMethod.h:172:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestMethod *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestMethod_Run_t method = (TESTCFISH_TestMethod_Run_t)cfish_obj_method(self, TESTCFISH_TestMethod_Run_OFFSET);
      |                                               ^
In file included from cftest/Clownfish/Test.c:36:
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_To_Host’:
autogen/include/Clownfish/Test/TestNum.h:130:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestNum *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestNum_To_Host_t method = (TESTCFISH_TestNum_To_Host_t)cfish_obj_method(self, TESTCFISH_TestNum_To_Host_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_Clone’:
autogen/include/Clownfish/Test/TestNum.h:137:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestNum *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestNum_Clone_t method = (TESTCFISH_TestNum_Clone_t)cfish_obj_method(self, TESTCFISH_TestNum_Clone_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_Equals’:
autogen/include/Clownfish/Test/TestNum.h:144:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestNum *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestNum_Equals_t method = (TESTCFISH_TestNum_Equals_t)cfish_obj_method(self, TESTCFISH_TestNum_Equals_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_Compare_To’:
autogen/include/Clownfish/Test/TestNum.h:151:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestNum *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestNum *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestNum_Compare_To_t method = (TESTCFISH_TestNum_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestNum_Compare_To_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_To_String’:
autogen/include/Clownfish/Test/TestNum.h:165:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestNum *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestNum_To_String_t method = (TESTCFISH_TestNum_To_String_t)cfish_obj_method(self, TESTCFISH_TestNum_To_String_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_Run’:
autogen/include/Clownfish/Test/TestNum.h:172:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestNum *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestNum_Run_t method = (TESTCFISH_TestNum_Run_t)cfish_obj_method(self, TESTCFISH_TestNum_Run_OFFSET);
      |                                            ^
In file included from cftest/Clownfish/Test.c:37:
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_To_Host’:
autogen/include/Clownfish/Test/TestObj.h:130:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestObj *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestObj_To_Host_t method = (TESTCFISH_TestObj_To_Host_t)cfish_obj_method(self, TESTCFISH_TestObj_To_Host_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_Clone’:
autogen/include/Clownfish/Test/TestObj.h:137:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestObj *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestObj_Clone_t method = (TESTCFISH_TestObj_Clone_t)cfish_obj_method(self, TESTCFISH_TestObj_Clone_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_Equals’:
autogen/include/Clownfish/Test/TestObj.h:144:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestObj *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestObj_Equals_t method = (TESTCFISH_TestObj_Equals_t)cfish_obj_method(self, TESTCFISH_TestObj_Equals_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_Compare_To’:
autogen/include/Clownfish/Test/TestObj.h:151:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestObj *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestObj *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestObj_Compare_To_t method = (TESTCFISH_TestObj_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestObj_Compare_To_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_To_String’:
autogen/include/Clownfish/Test/TestObj.h:165:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestObj *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestObj_To_String_t method = (TESTCFISH_TestObj_To_String_t)cfish_obj_method(self, TESTCFISH_TestObj_To_String_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_Run’:
autogen/include/Clownfish/Test/TestObj.h:172:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestObj *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestObj_Run_t method = (TESTCFISH_TestObj_Run_t)cfish_obj_method(self, TESTCFISH_TestObj_Run_OFFSET);
      |                                            ^
In file included from cftest/Clownfish/Test.c:38:
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_To_Host’:
autogen/include/Clownfish/Test/TestPtrHash.h:130:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestPtrHash *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestPtrHash_To_Host_t method = (TESTCFISH_TestPtrHash_To_Host_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_Clone’:
autogen/include/Clownfish/Test/TestPtrHash.h:137:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestPtrHash *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestPtrHash_Clone_t method = (TESTCFISH_TestPtrHash_Clone_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_Equals’:
autogen/include/Clownfish/Test/TestPtrHash.h:144:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestPtrHash *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestPtrHash_Equals_t method = (TESTCFISH_TestPtrHash_Equals_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_Compare_To’:
autogen/include/Clownfish/Test/TestPtrHash.h:151:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestPtrHash *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestPtrHash *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestPtrHash_Compare_To_t method = (TESTCFISH_TestPtrHash_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_To_String’:
autogen/include/Clownfish/Test/TestPtrHash.h:165:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestPtrHash *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestPtrHash_To_String_t method = (TESTCFISH_TestPtrHash_To_String_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_Run’:
autogen/include/Clownfish/Test/TestPtrHash.h:172:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestPtrHash *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestPtrHash_Run_t method = (TESTCFISH_TestPtrHash_Run_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_Run_OFFSET);
      |                                                ^
In file included from cftest/Clownfish/Test.c:39:
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_To_Host’:
autogen/include/Clownfish/Test/TestVector.h:130:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestVector *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestVector_To_Host_t method = (TESTCFISH_TestVector_To_Host_t)cfish_obj_method(self, TESTCFISH_TestVector_To_Host_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_Clone’:
autogen/include/Clownfish/Test/TestVector.h:137:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestVector *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestVector_Clone_t method = (TESTCFISH_TestVector_Clone_t)cfish_obj_method(self, TESTCFISH_TestVector_Clone_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_Equals’:
autogen/include/Clownfish/Test/TestVector.h:144:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestVector *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestVector_Equals_t method = (TESTCFISH_TestVector_Equals_t)cfish_obj_method(self, TESTCFISH_TestVector_Equals_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_Compare_To’:
autogen/include/Clownfish/Test/TestVector.h:151:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestVector *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestVector *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestVector_Compare_To_t method = (TESTCFISH_TestVector_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestVector_Compare_To_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_To_String’:
autogen/include/Clownfish/Test/TestVector.h:165:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestVector *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestVector_To_String_t method = (TESTCFISH_TestVector_To_String_t)cfish_obj_method(self, TESTCFISH_TestVector_To_String_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_Run’:
autogen/include/Clownfish/Test/TestVector.h:172:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestVector *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestVector_Run_t method = (TESTCFISH_TestVector_Run_t)cfish_obj_method(self, TESTCFISH_TestVector_Run_OFFSET);
      |                                               ^
In file included from cftest/Clownfish/Test.c:40:
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_To_Host’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:130:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestAtomic *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestAtomic_To_Host_t method = (TESTCFISH_TestAtomic_To_Host_t)cfish_obj_method(self, TESTCFISH_TestAtomic_To_Host_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_Clone’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:137:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestAtomic *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestAtomic_Clone_t method = (TESTCFISH_TestAtomic_Clone_t)cfish_obj_method(self, TESTCFISH_TestAtomic_Clone_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_Equals’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:144:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestAtomic *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestAtomic_Equals_t method = (TESTCFISH_TestAtomic_Equals_t)cfish_obj_method(self, TESTCFISH_TestAtomic_Equals_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_Compare_To’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:151:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestAtomic *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestAtomic *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestAtomic_Compare_To_t method = (TESTCFISH_TestAtomic_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestAtomic_Compare_To_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_To_String’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:165:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestAtomic *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestAtomic_To_String_t method = (TESTCFISH_TestAtomic_To_String_t)cfish_obj_method(self, TESTCFISH_TestAtomic_To_String_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_Run’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:172:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestAtomic *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestAtomic_Run_t method = (TESTCFISH_TestAtomic_Run_t)cfish_obj_method(self, TESTCFISH_TestAtomic_Run_OFFSET);
      |                                               ^
In file included from cftest/Clownfish/Test.c:41:
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_To_Host’:
autogen/include/Clownfish/Test/Util/TestMemory.h:130:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestMemory *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestMemory_To_Host_t method = (TESTCFISH_TestMemory_To_Host_t)cfish_obj_method(self, TESTCFISH_TestMemory_To_Host_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_Clone’:
autogen/include/Clownfish/Test/Util/TestMemory.h:137:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestMemory *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestMemory_Clone_t method = (TESTCFISH_TestMemory_Clone_t)cfish_obj_method(self, TESTCFISH_TestMemory_Clone_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_Equals’:
autogen/include/Clownfish/Test/Util/TestMemory.h:144:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestMemory *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestMemory_Equals_t method = (TESTCFISH_TestMemory_Equals_t)cfish_obj_method(self, TESTCFISH_TestMemory_Equals_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_Compare_To’:
autogen/include/Clownfish/Test/Util/TestMemory.h:151:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestMemory *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestMemory *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestMemory_Compare_To_t method = (TESTCFISH_TestMemory_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestMemory_Compare_To_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_To_String’:
autogen/include/Clownfish/Test/Util/TestMemory.h:165:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestMemory *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestMemory_To_String_t method = (TESTCFISH_TestMemory_To_String_t)cfish_obj_method(self, TESTCFISH_TestMemory_To_String_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_Run’:
autogen/include/Clownfish/Test/Util/TestMemory.h:172:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestMemory *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestMemory_Run_t method = (TESTCFISH_TestMemory_Run_t)cfish_obj_method(self, TESTCFISH_TestMemory_Run_OFFSET);
      |                                               ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/TestBlob.c -c -o cftest/Clownfish/Test/TestBlob.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/TestBlob.h:40,
                 from cftest/Clownfish/Test/TestBlob.c:20:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_To_Host’:
autogen/include/Clownfish/Test/TestBlob.h:130:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestBlob *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestBlob_To_Host_t method = (TESTCFISH_TestBlob_To_Host_t)cfish_obj_method(self, TESTCFISH_TestBlob_To_Host_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_Clone’:
autogen/include/Clownfish/Test/TestBlob.h:137:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestBlob *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestBlob_Clone_t method = (TESTCFISH_TestBlob_Clone_t)cfish_obj_method(self, TESTCFISH_TestBlob_Clone_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_Equals’:
autogen/include/Clownfish/Test/TestBlob.h:144:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestBlob *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestBlob_Equals_t method = (TESTCFISH_TestBlob_Equals_t)cfish_obj_method(self, TESTCFISH_TestBlob_Equals_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_Compare_To’:
autogen/include/Clownfish/Test/TestBlob.h:151:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestBlob *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestBlob *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestBlob_Compare_To_t method = (TESTCFISH_TestBlob_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestBlob_Compare_To_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_To_String’:
autogen/include/Clownfish/Test/TestBlob.h:165:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestBlob *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestBlob_To_String_t method = (TESTCFISH_TestBlob_To_String_t)cfish_obj_method(self, TESTCFISH_TestBlob_To_String_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_Run’:
autogen/include/Clownfish/Test/TestBlob.h:172:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestBlob *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestBlob_Run_t method = (TESTCFISH_TestBlob_Run_t)cfish_obj_method(self, TESTCFISH_TestBlob_Run_OFFSET);
      |                                             ^
In file included from cftest/Clownfish/Test/TestBlob.c:22:
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_To_Host’:
autogen/include/Clownfish/Blob.h:182:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Blob *, void *)’ [-Wcast-function-type]
  182 |     const CFISH_Blob_To_Host_t method = (CFISH_Blob_To_Host_t)cfish_obj_method(self, CFISH_Blob_To_Host_OFFSET);
      |                                         ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Clone’:
autogen/include/Clownfish/Blob.h:193:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Blob * (*)(cfish_Blob *)’ [-Wcast-function-type]
  193 |     const CFISH_Blob_Clone_t method = (CFISH_Blob_Clone_t)cfish_obj_method(self, CFISH_Blob_Clone_OFFSET);
      |                                       ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Equals’:
autogen/include/Clownfish/Blob.h:204:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Blob *, cfish_Obj *)’ [-Wcast-function-type]
  204 |     const CFISH_Blob_Equals_t method = (CFISH_Blob_Equals_t)cfish_obj_method(self, CFISH_Blob_Equals_OFFSET);
      |                                        ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Compare_To’:
autogen/include/Clownfish/Blob.h:215:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Blob *, cfish_Obj *)’ {aka ‘int (*)(cfish_Blob *, cfish_Obj *)’} [-Wcast-function-type]
  215 |     const CFISH_Blob_Compare_To_t method = (CFISH_Blob_Compare_To_t)cfish_obj_method(self, CFISH_Blob_Compare_To_OFFSET);
      |                                            ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_To_String’:
autogen/include/Clownfish/Blob.h:237:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Blob *)’ [-Wcast-function-type]
  237 |     const CFISH_Blob_To_String_t method = (CFISH_Blob_To_String_t)cfish_obj_method(self, CFISH_Blob_To_String_OFFSET);
      |                                           ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Get_Size’:
autogen/include/Clownfish/Blob.h:248:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Blob *)’ {aka ‘long unsigned int (*)(cfish_Blob *)’} [-Wcast-function-type]
  248 |     const CFISH_Blob_Get_Size_t method = (CFISH_Blob_Get_Size_t)cfish_obj_method(self, CFISH_Blob_Get_Size_OFFSET);
      |                                          ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Get_Buf’:
autogen/include/Clownfish/Blob.h:259:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_Blob *)’ [-Wcast-function-type]
  259 |     const CFISH_Blob_Get_Buf_t method = (CFISH_Blob_Get_Buf_t)cfish_obj_method(self, CFISH_Blob_Get_Buf_OFFSET);
      |                                         ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Equals_Bytes’:
autogen/include/Clownfish/Blob.h:270:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Blob *, const void *, size_t)’ {aka ‘_Bool (*)(cfish_Blob *, const void *, long unsigned int)’} [-Wcast-function-type]
  270 |     const CFISH_Blob_Equals_Bytes_t method = (CFISH_Blob_Equals_Bytes_t)cfish_obj_method(self, CFISH_Blob_Equals_Bytes_OFFSET);
      |                                              ^
In file included from cftest/Clownfish/Test/TestBlob.c:24:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
In file included from cftest/Clownfish/Test/TestBlob.c:26:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/TestBoolean.c -c -o cftest/Clownfish/Test/TestBoolean.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/TestBoolean.h:40,
                 from cftest/Clownfish/Test/TestBoolean.c:20:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_To_Host’:
autogen/include/Clownfish/Test/TestBoolean.h:130:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestBoolean *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestBoolean_To_Host_t method = (TESTCFISH_TestBoolean_To_Host_t)cfish_obj_method(self, TESTCFISH_TestBoolean_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_Clone’:
autogen/include/Clownfish/Test/TestBoolean.h:137:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestBoolean *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestBoolean_Clone_t method = (TESTCFISH_TestBoolean_Clone_t)cfish_obj_method(self, TESTCFISH_TestBoolean_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_Equals’:
autogen/include/Clownfish/Test/TestBoolean.h:144:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestBoolean *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestBoolean_Equals_t method = (TESTCFISH_TestBoolean_Equals_t)cfish_obj_method(self, TESTCFISH_TestBoolean_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_Compare_To’:
autogen/include/Clownfish/Test/TestBoolean.h:151:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestBoolean *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestBoolean *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestBoolean_Compare_To_t method = (TESTCFISH_TestBoolean_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestBoolean_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_To_String’:
autogen/include/Clownfish/Test/TestBoolean.h:165:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestBoolean *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestBoolean_To_String_t method = (TESTCFISH_TestBoolean_To_String_t)cfish_obj_method(self, TESTCFISH_TestBoolean_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_Run’:
autogen/include/Clownfish/Test/TestBoolean.h:172:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestBoolean *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestBoolean_Run_t method = (TESTCFISH_TestBoolean_Run_t)cfish_obj_method(self, TESTCFISH_TestBoolean_Run_OFFSET);
      |                                                ^
In file included from autogen/include/Clownfish/String.h:41,
                 from cftest/Clownfish/Test/TestBoolean.c:22:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
In file included from autogen/include/Clownfish/String.h:44:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Host’:
autogen/include/Clownfish/String.h:387:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_String *, void *)’ [-Wcast-function-type]
  387 |     const CFISH_Str_To_Host_t method = (CFISH_Str_To_Host_t)cfish_obj_method(self, CFISH_Str_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Clone’:
autogen/include/Clownfish/String.h:398:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  398 |     const CFISH_Str_Clone_t method = (CFISH_Str_Clone_t)cfish_obj_method(self, CFISH_Str_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals’:
autogen/include/Clownfish/String.h:409:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  409 |     const CFISH_Str_Equals_t method = (CFISH_Str_Equals_t)cfish_obj_method(self, CFISH_Str_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Compare_To’:
autogen/include/Clownfish/String.h:420:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, cfish_Obj *)’ {aka ‘int (*)(cfish_String *, cfish_Obj *)’} [-Wcast-function-type]
  420 |     const CFISH_Str_Compare_To_t method = (CFISH_Str_Compare_To_t)cfish_obj_method(self, CFISH_Str_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_String’:
autogen/include/Clownfish/String.h:442:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  442 |     const CFISH_Str_To_String_t method = (CFISH_Str_To_String_t)cfish_obj_method(self, CFISH_Str_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat’:
autogen/include/Clownfish/String.h:453:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  453 |     const CFISH_Str_Cat_t method = (CFISH_Str_Cat_t)cfish_obj_method(self, CFISH_Str_Cat_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Utf8’:
autogen/include/Clownfish/String.h:464:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  464 |     const CFISH_Str_Cat_Utf8_t method = (CFISH_Str_Cat_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Utf8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Trusted_Utf8’:
autogen/include/Clownfish/String.h:475:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  475 |     const CFISH_Str_Cat_Trusted_Utf8_t method = (CFISH_Str_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Trusted_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_I64’:
autogen/include/Clownfish/String.h:486:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *)’ {aka ‘long int (*)(cfish_String *)’} [-Wcast-function-type]
  486 |     const CFISH_Str_To_I64_t method = (CFISH_Str_To_I64_t)cfish_obj_method(self, CFISH_Str_To_I64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_BaseX_To_I64’:
autogen/include/Clownfish/String.h:497:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *, uint32_t)’ {aka ‘long int (*)(cfish_String *, unsigned int)’} [-Wcast-function-type]
  497 |     const CFISH_Str_BaseX_To_I64_t method = (CFISH_Str_BaseX_To_I64_t)cfish_obj_method(self, CFISH_Str_BaseX_To_I64_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_F64’:
autogen/include/Clownfish/String.h:508:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_String *)’ [-Wcast-function-type]
  508 |     const CFISH_Str_To_F64_t method = (CFISH_Str_To_F64_t)cfish_obj_method(self, CFISH_Str_To_F64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With’:
autogen/include/Clownfish/String.h:519:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  519 |     const CFISH_Str_Starts_With_t method = (CFISH_Str_Starts_With_t)cfish_obj_method(self, CFISH_Str_Starts_With_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:530:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  530 |     const CFISH_Str_Starts_With_Utf8_t method = (CFISH_Str_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Starts_With_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With’:
autogen/include/Clownfish/String.h:541:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  541 |     const CFISH_Str_Ends_With_t method = (CFISH_Str_Ends_With_t)cfish_obj_method(self, CFISH_Str_Ends_With_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:552:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  552 |     const CFISH_Str_Ends_With_Utf8_t method = (CFISH_Str_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Ends_With_Utf8_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains’:
autogen/include/Clownfish/String.h:563:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  563 |     const CFISH_Str_Contains_t method = (CFISH_Str_Contains_t)cfish_obj_method(self, CFISH_Str_Contains_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains_Utf8’:
autogen/include/Clownfish/String.h:574:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  574 |     const CFISH_Str_Contains_Utf8_t method = (CFISH_Str_Contains_Utf8_t)cfish_obj_method(self, CFISH_Str_Contains_Utf8_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find’:
autogen/include/Clownfish/String.h:585:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  585 |     const CFISH_Str_Find_t method = (CFISH_Str_Find_t)cfish_obj_method(self, CFISH_Str_Find_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find_Utf8’:
autogen/include/Clownfish/String.h:596:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_StringIterator * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  596 |     const CFISH_Str_Find_Utf8_t method = (CFISH_Str_Find_Utf8_t)cfish_obj_method(self, CFISH_Str_Find_Utf8_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals_Utf8’:
autogen/include/Clownfish/String.h:607:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  607 |     const CFISH_Str_Equals_Utf8_t method = (CFISH_Str_Equals_Utf8_t)cfish_obj_method(self, CFISH_Str_Equals_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Length’:
autogen/include/Clownfish/String.h:618:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  618 |     const CFISH_Str_Length_t method = (CFISH_Str_Length_t)cfish_obj_method(self, CFISH_Str_Length_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Size’:
autogen/include/Clownfish/String.h:629:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  629 |     const CFISH_Str_Get_Size_t method = (CFISH_Str_Get_Size_t)cfish_obj_method(self, CFISH_Str_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Ptr8’:
autogen/include/Clownfish/String.h:640:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_String *)’ [-Wcast-function-type]
  640 |     const CFISH_Str_Get_Ptr8_t method = (CFISH_Str_Get_Ptr8_t)cfish_obj_method(self, CFISH_Str_Get_Ptr8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Utf8’:
autogen/include/Clownfish/String.h:651:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_String *)’ [-Wcast-function-type]
  651 |     const CFISH_Str_To_Utf8_t method = (CFISH_Str_To_Utf8_t)cfish_obj_method(self, CFISH_Str_To_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_ByteBuf’:
autogen/include/Clownfish/String.h:662:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_String *)’ [-Wcast-function-type]
  662 |     const CFISH_Str_To_ByteBuf_t method = (CFISH_Str_To_ByteBuf_t)cfish_obj_method(self, CFISH_Str_To_ByteBuf_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Is_Copy_On_IncRef’:
autogen/include/Clownfish/String.h:673:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *)’ [-Wcast-function-type]
  673 |     const CFISH_Str_Is_Copy_On_IncRef_t method = (CFISH_Str_Is_Copy_On_IncRef_t)cfish_obj_method(self, CFISH_Str_Is_Copy_On_IncRef_OFFSET);
      |                                                  ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Hash_Sum’:
autogen/include/Clownfish/String.h:684:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  684 |     const CFISH_Str_Hash_Sum_t method = (CFISH_Str_Hash_Sum_t)cfish_obj_method(self, CFISH_Str_Hash_Sum_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim’:
autogen/include/Clownfish/String.h:695:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  695 |     const CFISH_Str_Trim_t method = (CFISH_Str_Trim_t)cfish_obj_method(self, CFISH_Str_Trim_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Top’:
autogen/include/Clownfish/String.h:706:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  706 |     const CFISH_Str_Trim_Top_t method = (CFISH_Str_Trim_Top_t)cfish_obj_method(self, CFISH_Str_Trim_Top_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Tail’:
autogen/include/Clownfish/String.h:717:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  717 |     const CFISH_Str_Trim_Tail_t method = (CFISH_Str_Trim_Tail_t)cfish_obj_method(self, CFISH_Str_Trim_Tail_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_At’:
autogen/include/Clownfish/String.h:728:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  728 |     const CFISH_Str_Code_Point_At_t method = (CFISH_Str_Code_Point_At_t)cfish_obj_method(self, CFISH_Str_Code_Point_At_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_From’:
autogen/include/Clownfish/String.h:739:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  739 |     const CFISH_Str_Code_Point_From_t method = (CFISH_Str_Code_Point_From_t)cfish_obj_method(self, CFISH_Str_Code_Point_From_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_SubString’:
autogen/include/Clownfish/String.h:750:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, size_t,  size_t)’ {aka ‘cfish_String * (*)(cfish_String *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  750 |     const CFISH_Str_SubString_t method = (CFISH_Str_SubString_t)cfish_obj_method(self, CFISH_Str_SubString_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Top’:
autogen/include/Clownfish/String.h:761:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  761 |     const CFISH_Str_Top_t method = (CFISH_Str_Top_t)cfish_obj_method(self, CFISH_Str_Top_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Tail’:
autogen/include/Clownfish/String.h:772:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  772 |     const CFISH_Str_Tail_t method = (CFISH_Str_Tail_t)cfish_obj_method(self, CFISH_Str_Tail_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_Host’:
autogen/include/Clownfish/String.h:1113:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_StringIterator *, void *)’ [-Wcast-function-type]
 1113 |     const CFISH_StrIter_To_Host_t method = (CFISH_StrIter_To_Host_t)cfish_obj_method(self, CFISH_StrIter_To_Host_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Clone’:
autogen/include/Clownfish/String.h:1124:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1124 |     const CFISH_StrIter_Clone_t method = (CFISH_StrIter_Clone_t)cfish_obj_method(self, CFISH_StrIter_Clone_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Equals’:
autogen/include/Clownfish/String.h:1135:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_Obj *)’ [-Wcast-function-type]
 1135 |     const CFISH_StrIter_Equals_t method = (CFISH_StrIter_Equals_t)cfish_obj_method(self, CFISH_StrIter_Equals_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Compare_To’:
autogen/include/Clownfish/String.h:1146:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_StringIterator *, cfish_Obj *)’} [-Wcast-function-type]
 1146 |     const CFISH_StrIter_Compare_To_t method = (CFISH_StrIter_Compare_To_t)cfish_obj_method(self, CFISH_StrIter_Compare_To_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_String’:
autogen/include/Clownfish/String.h:1168:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1168 |     const CFISH_StrIter_To_String_t method = (CFISH_StrIter_To_String_t)cfish_obj_method(self, CFISH_StrIter_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Assign’:
autogen/include/Clownfish/String.h:1179:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_StringIterator *, cfish_StringIterator *)’ [-Wcast-function-type]
 1179 |     const CFISH_StrIter_Assign_t method = (CFISH_StrIter_Assign_t)cfish_obj_method(self, CFISH_StrIter_Assign_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Next’:
autogen/include/Clownfish/String.h:1190:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1190 |     const CFISH_StrIter_Has_Next_t method = (CFISH_StrIter_Has_Next_t)cfish_obj_method(self, CFISH_StrIter_Has_Next_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Prev’:
autogen/include/Clownfish/String.h:1201:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1201 |     const CFISH_StrIter_Has_Prev_t method = (CFISH_StrIter_Has_Prev_t)cfish_obj_method(self, CFISH_StrIter_Has_Prev_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Next’:
autogen/include/Clownfish/String.h:1212:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1212 |     const CFISH_StrIter_Next_t method = (CFISH_StrIter_Next_t)cfish_obj_method(self, CFISH_StrIter_Next_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Prev’:
autogen/include/Clownfish/String.h:1223:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1223 |     const CFISH_StrIter_Prev_t method = (CFISH_StrIter_Prev_t)cfish_obj_method(self, CFISH_StrIter_Prev_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Advance’:
autogen/include/Clownfish/String.h:1234:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1234 |     const CFISH_StrIter_Advance_t method = (CFISH_StrIter_Advance_t)cfish_obj_method(self, CFISH_StrIter_Advance_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Recede’:
autogen/include/Clownfish/String.h:1245:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1245 |     const CFISH_StrIter_Recede_t method = (CFISH_StrIter_Recede_t)cfish_obj_method(self, CFISH_StrIter_Recede_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace’:
autogen/include/Clownfish/String.h:1256:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1256 |     const CFISH_StrIter_Skip_Whitespace_t method = (CFISH_StrIter_Skip_Whitespace_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_OFFSET);
      |                                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace_Back’:
autogen/include/Clownfish/String.h:1267:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1267 |     const CFISH_StrIter_Skip_Whitespace_Back_t method = (CFISH_StrIter_Skip_Whitespace_Back_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_Back_OFFSET);
      |                                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With’:
autogen/include/Clownfish/String.h:1278:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1278 |     const CFISH_StrIter_Starts_With_t method = (CFISH_StrIter_Starts_With_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:1289:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1289 |     const CFISH_StrIter_Starts_With_Utf8_t method = (CFISH_StrIter_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_Utf8_OFFSET);
      |                                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With’:
autogen/include/Clownfish/String.h:1300:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1300 |     const CFISH_StrIter_Ends_With_t method = (CFISH_StrIter_Ends_With_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:1311:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1311 |     const CFISH_StrIter_Ends_With_Utf8_t method = (CFISH_StrIter_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_Utf8_OFFSET);
      |                                                   ^
In file included from cftest/Clownfish/Test/TestBoolean.c:23:
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_To_Host’:
autogen/include/Clownfish/Boolean.h:159:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Boolean *, void *)’ [-Wcast-function-type]
  159 |     const CFISH_Bool_To_Host_t method = (CFISH_Bool_To_Host_t)cfish_obj_method(self, CFISH_Bool_To_Host_OFFSET);
      |                                         ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Clone’:
autogen/include/Clownfish/Boolean.h:170:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Boolean * (*)(cfish_Boolean *)’ [-Wcast-function-type]
  170 |     const CFISH_Bool_Clone_t method = (CFISH_Bool_Clone_t)cfish_obj_method(self, CFISH_Bool_Clone_OFFSET);
      |                                       ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Equals’:
autogen/include/Clownfish/Boolean.h:181:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Boolean *, cfish_Obj *)’ [-Wcast-function-type]
  181 |     const CFISH_Bool_Equals_t method = (CFISH_Bool_Equals_t)cfish_obj_method(self, CFISH_Bool_Equals_OFFSET);
      |                                        ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Compare_To’:
autogen/include/Clownfish/Boolean.h:192:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Boolean *, cfish_Obj *)’ {aka ‘int (*)(cfish_Boolean *, cfish_Obj *)’} [-Wcast-function-type]
  192 |     const CFISH_Bool_Compare_To_t method = (CFISH_Bool_Compare_To_t)cfish_obj_method(self, CFISH_Bool_Compare_To_OFFSET);
      |                                            ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_To_String’:
autogen/include/Clownfish/Boolean.h:214:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Boolean *)’ [-Wcast-function-type]
  214 |     const CFISH_Bool_To_String_t method = (CFISH_Bool_To_String_t)cfish_obj_method(self, CFISH_Bool_To_String_OFFSET);
      |                                           ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Get_Value’:
autogen/include/Clownfish/Boolean.h:225:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Boolean *)’ [-Wcast-function-type]
  225 |     const CFISH_Bool_Get_Value_t method = (CFISH_Bool_Get_Value_t)cfish_obj_method(self, CFISH_Bool_Get_Value_OFFSET);
      |                                           ^
In file included from cftest/Clownfish/Test/TestBoolean.c:25:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/TestByteBuf.c -c -o cftest/Clownfish/Test/TestByteBuf.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/TestByteBuf.h:40,
                 from cftest/Clownfish/Test/TestByteBuf.c:22:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_To_Host’:
autogen/include/Clownfish/Test/TestByteBuf.h:130:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestByteBuf *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestBB_To_Host_t method = (TESTCFISH_TestBB_To_Host_t)cfish_obj_method(self, TESTCFISH_TestBB_To_Host_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_Clone’:
autogen/include/Clownfish/Test/TestByteBuf.h:137:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestByteBuf *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestBB_Clone_t method = (TESTCFISH_TestBB_Clone_t)cfish_obj_method(self, TESTCFISH_TestBB_Clone_OFFSET);
      |                                             ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_Equals’:
autogen/include/Clownfish/Test/TestByteBuf.h:144:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestByteBuf *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestBB_Equals_t method = (TESTCFISH_TestBB_Equals_t)cfish_obj_method(self, TESTCFISH_TestBB_Equals_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_Compare_To’:
autogen/include/Clownfish/Test/TestByteBuf.h:151:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestByteBuf *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestByteBuf *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestBB_Compare_To_t method = (TESTCFISH_TestBB_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestBB_Compare_To_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_To_String’:
autogen/include/Clownfish/Test/TestByteBuf.h:165:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestByteBuf *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestBB_To_String_t method = (TESTCFISH_TestBB_To_String_t)cfish_obj_method(self, TESTCFISH_TestBB_To_String_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_Run’:
autogen/include/Clownfish/Test/TestByteBuf.h:172:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestByteBuf *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestBB_Run_t method = (TESTCFISH_TestBB_Run_t)cfish_obj_method(self, TESTCFISH_TestBB_Run_OFFSET);
      |                                           ^
In file included from cftest/Clownfish/Test/TestByteBuf.c:24:
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_To_Host’:
autogen/include/Clownfish/ByteBuf.h:230:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_ByteBuf *, void *)’ [-Wcast-function-type]
  230 |     const CFISH_BB_To_Host_t method = (CFISH_BB_To_Host_t)cfish_obj_method(self, CFISH_BB_To_Host_OFFSET);
      |                                       ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Clone’:
autogen/include/Clownfish/ByteBuf.h:241:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  241 |     const CFISH_BB_Clone_t method = (CFISH_BB_Clone_t)cfish_obj_method(self, CFISH_BB_Clone_OFFSET);
      |                                     ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Equals’:
autogen/include/Clownfish/ByteBuf.h:252:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_ByteBuf *, cfish_Obj *)’ [-Wcast-function-type]
  252 |     const CFISH_BB_Equals_t method = (CFISH_BB_Equals_t)cfish_obj_method(self, CFISH_BB_Equals_OFFSET);
      |                                      ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Compare_To’:
autogen/include/Clownfish/ByteBuf.h:263:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_ByteBuf *, cfish_Obj *)’ {aka ‘int (*)(cfish_ByteBuf *, cfish_Obj *)’} [-Wcast-function-type]
  263 |     const CFISH_BB_Compare_To_t method = (CFISH_BB_Compare_To_t)cfish_obj_method(self, CFISH_BB_Compare_To_OFFSET);
      |                                          ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_To_String’:
autogen/include/Clownfish/ByteBuf.h:285:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  285 |     const CFISH_BB_To_String_t method = (CFISH_BB_To_String_t)cfish_obj_method(self, CFISH_BB_To_String_OFFSET);
      |                                         ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Set_Size’:
autogen/include/Clownfish/ByteBuf.h:296:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_ByteBuf *, size_t)’ {aka ‘void (*)(cfish_ByteBuf *, long unsigned int)’} [-Wcast-function-type]
  296 |     const CFISH_BB_Set_Size_t method = (CFISH_BB_Set_Size_t)cfish_obj_method(self, CFISH_BB_Set_Size_OFFSET);
      |                                        ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Get_Size’:
autogen/include/Clownfish/ByteBuf.h:307:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_ByteBuf *)’ {aka ‘long unsigned int (*)(cfish_ByteBuf *)’} [-Wcast-function-type]
  307 |     const CFISH_BB_Get_Size_t method = (CFISH_BB_Get_Size_t)cfish_obj_method(self, CFISH_BB_Get_Size_OFFSET);
      |                                        ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Get_Buf’:
autogen/include/Clownfish/ByteBuf.h:318:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  318 |     const CFISH_BB_Get_Buf_t method = (CFISH_BB_Get_Buf_t)cfish_obj_method(self, CFISH_BB_Get_Buf_OFFSET);
      |                                       ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Get_Capacity’:
autogen/include/Clownfish/ByteBuf.h:329:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_ByteBuf *)’ {aka ‘long unsigned int (*)(cfish_ByteBuf *)’} [-Wcast-function-type]
  329 |     const CFISH_BB_Get_Capacity_t method = (CFISH_BB_Get_Capacity_t)cfish_obj_method(self, CFISH_BB_Get_Capacity_OFFSET);
      |                                            ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Cat_Bytes’:
autogen/include/Clownfish/ByteBuf.h:340:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_ByteBuf *, const void *, size_t)’ {aka ‘void (*)(cfish_ByteBuf *, const void *, long unsigned int)’} [-Wcast-function-type]
  340 |     const CFISH_BB_Cat_Bytes_t method = (CFISH_BB_Cat_Bytes_t)cfish_obj_method(self, CFISH_BB_Cat_Bytes_OFFSET);
      |                                         ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Cat’:
autogen/include/Clownfish/ByteBuf.h:351:35: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_ByteBuf *, cfish_Blob *)’ [-Wcast-function-type]
  351 |     const CFISH_BB_Cat_t method = (CFISH_BB_Cat_t)cfish_obj_method(self, CFISH_BB_Cat_OFFSET);
      |                                   ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Grow’:
autogen/include/Clownfish/ByteBuf.h:362:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_ByteBuf *, size_t)’ {aka ‘char * (*)(cfish_ByteBuf *, long unsigned int)’} [-Wcast-function-type]
  362 |     const CFISH_BB_Grow_t method = (CFISH_BB_Grow_t)cfish_obj_method(self, CFISH_BB_Grow_OFFSET);
      |                                    ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Yield_Blob’:
autogen/include/Clownfish/ByteBuf.h:373:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Blob * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  373 |     const CFISH_BB_Yield_Blob_t method = (CFISH_BB_Yield_Blob_t)cfish_obj_method(self, CFISH_BB_Yield_Blob_OFFSET);
      |                                          ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Utf8_To_String’:
autogen/include/Clownfish/ByteBuf.h:384:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  384 |     const CFISH_BB_Utf8_To_String_t method = (CFISH_BB_Utf8_To_String_t)cfish_obj_method(self, CFISH_BB_Utf8_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Trusted_Utf8_To_String’:
autogen/include/Clownfish/ByteBuf.h:395:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  395 |     const CFISH_BB_Trusted_Utf8_To_String_t method = (CFISH_BB_Trusted_Utf8_To_String_t)cfish_obj_method(self, CFISH_BB_Trusted_Utf8_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Equals_Bytes’:
autogen/include/Clownfish/ByteBuf.h:406:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_ByteBuf *, const void *, size_t)’ {aka ‘_Bool (*)(cfish_ByteBuf *, const void *, long unsigned int)’} [-Wcast-function-type]
  406 |     const CFISH_BB_Equals_Bytes_t method = (CFISH_BB_Equals_Bytes_t)cfish_obj_method(self, CFISH_BB_Equals_Bytes_OFFSET);
      |                                            ^
In file included from cftest/Clownfish/Test/TestByteBuf.c:26:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
In file included from cftest/Clownfish/Test/TestByteBuf.c:28:
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_To_Host’:
autogen/include/Clownfish/Blob.h:182:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Blob *, void *)’ [-Wcast-function-type]
  182 |     const CFISH_Blob_To_Host_t method = (CFISH_Blob_To_Host_t)cfish_obj_method(self, CFISH_Blob_To_Host_OFFSET);
      |                                         ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Clone’:
autogen/include/Clownfish/Blob.h:193:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Blob * (*)(cfish_Blob *)’ [-Wcast-function-type]
  193 |     const CFISH_Blob_Clone_t method = (CFISH_Blob_Clone_t)cfish_obj_method(self, CFISH_Blob_Clone_OFFSET);
      |                                       ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Equals’:
autogen/include/Clownfish/Blob.h:204:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Blob *, cfish_Obj *)’ [-Wcast-function-type]
  204 |     const CFISH_Blob_Equals_t method = (CFISH_Blob_Equals_t)cfish_obj_method(self, CFISH_Blob_Equals_OFFSET);
      |                                        ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Compare_To’:
autogen/include/Clownfish/Blob.h:215:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Blob *, cfish_Obj *)’ {aka ‘int (*)(cfish_Blob *, cfish_Obj *)’} [-Wcast-function-type]
  215 |     const CFISH_Blob_Compare_To_t method = (CFISH_Blob_Compare_To_t)cfish_obj_method(self, CFISH_Blob_Compare_To_OFFSET);
      |                                            ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_To_String’:
autogen/include/Clownfish/Blob.h:237:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Blob *)’ [-Wcast-function-type]
  237 |     const CFISH_Blob_To_String_t method = (CFISH_Blob_To_String_t)cfish_obj_method(self, CFISH_Blob_To_String_OFFSET);
      |                                           ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Get_Size’:
autogen/include/Clownfish/Blob.h:248:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Blob *)’ {aka ‘long unsigned int (*)(cfish_Blob *)’} [-Wcast-function-type]
  248 |     const CFISH_Blob_Get_Size_t method = (CFISH_Blob_Get_Size_t)cfish_obj_method(self, CFISH_Blob_Get_Size_OFFSET);
      |                                          ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Get_Buf’:
autogen/include/Clownfish/Blob.h:259:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_Blob *)’ [-Wcast-function-type]
  259 |     const CFISH_Blob_Get_Buf_t method = (CFISH_Blob_Get_Buf_t)cfish_obj_method(self, CFISH_Blob_Get_Buf_OFFSET);
      |                                         ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Equals_Bytes’:
autogen/include/Clownfish/Blob.h:270:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Blob *, const void *, size_t)’ {aka ‘_Bool (*)(cfish_Blob *, const void *, long unsigned int)’} [-Wcast-function-type]
  270 |     const CFISH_Blob_Equals_Bytes_t method = (CFISH_Blob_Equals_Bytes_t)cfish_obj_method(self, CFISH_Blob_Equals_Bytes_OFFSET);
      |                                              ^
In file included from cftest/Clownfish/Test/TestByteBuf.c:29:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
In file included from cftest/Clownfish/Test/TestByteBuf.c:30:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
In file included from cftest/Clownfish/Test/TestByteBuf.c:31:
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Host’:
autogen/include/Clownfish/String.h:387:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_String *, void *)’ [-Wcast-function-type]
  387 |     const CFISH_Str_To_Host_t method = (CFISH_Str_To_Host_t)cfish_obj_method(self, CFISH_Str_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Clone’:
autogen/include/Clownfish/String.h:398:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  398 |     const CFISH_Str_Clone_t method = (CFISH_Str_Clone_t)cfish_obj_method(self, CFISH_Str_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals’:
autogen/include/Clownfish/String.h:409:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  409 |     const CFISH_Str_Equals_t method = (CFISH_Str_Equals_t)cfish_obj_method(self, CFISH_Str_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Compare_To’:
autogen/include/Clownfish/String.h:420:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, cfish_Obj *)’ {aka ‘int (*)(cfish_String *, cfish_Obj *)’} [-Wcast-function-type]
  420 |     const CFISH_Str_Compare_To_t method = (CFISH_Str_Compare_To_t)cfish_obj_method(self, CFISH_Str_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_String’:
autogen/include/Clownfish/String.h:442:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  442 |     const CFISH_Str_To_String_t method = (CFISH_Str_To_String_t)cfish_obj_method(self, CFISH_Str_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat’:
autogen/include/Clownfish/String.h:453:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  453 |     const CFISH_Str_Cat_t method = (CFISH_Str_Cat_t)cfish_obj_method(self, CFISH_Str_Cat_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Utf8’:
autogen/include/Clownfish/String.h:464:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  464 |     const CFISH_Str_Cat_Utf8_t method = (CFISH_Str_Cat_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Utf8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Trusted_Utf8’:
autogen/include/Clownfish/String.h:475:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  475 |     const CFISH_Str_Cat_Trusted_Utf8_t method = (CFISH_Str_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Trusted_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_I64’:
autogen/include/Clownfish/String.h:486:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *)’ {aka ‘long int (*)(cfish_String *)’} [-Wcast-function-type]
  486 |     const CFISH_Str_To_I64_t method = (CFISH_Str_To_I64_t)cfish_obj_method(self, CFISH_Str_To_I64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_BaseX_To_I64’:
autogen/include/Clownfish/String.h:497:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *, uint32_t)’ {aka ‘long int (*)(cfish_String *, unsigned int)’} [-Wcast-function-type]
  497 |     const CFISH_Str_BaseX_To_I64_t method = (CFISH_Str_BaseX_To_I64_t)cfish_obj_method(self, CFISH_Str_BaseX_To_I64_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_F64’:
autogen/include/Clownfish/String.h:508:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_String *)’ [-Wcast-function-type]
  508 |     const CFISH_Str_To_F64_t method = (CFISH_Str_To_F64_t)cfish_obj_method(self, CFISH_Str_To_F64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With’:
autogen/include/Clownfish/String.h:519:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  519 |     const CFISH_Str_Starts_With_t method = (CFISH_Str_Starts_With_t)cfish_obj_method(self, CFISH_Str_Starts_With_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:530:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  530 |     const CFISH_Str_Starts_With_Utf8_t method = (CFISH_Str_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Starts_With_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With’:
autogen/include/Clownfish/String.h:541:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  541 |     const CFISH_Str_Ends_With_t method = (CFISH_Str_Ends_With_t)cfish_obj_method(self, CFISH_Str_Ends_With_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:552:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  552 |     const CFISH_Str_Ends_With_Utf8_t method = (CFISH_Str_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Ends_With_Utf8_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains’:
autogen/include/Clownfish/String.h:563:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  563 |     const CFISH_Str_Contains_t method = (CFISH_Str_Contains_t)cfish_obj_method(self, CFISH_Str_Contains_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains_Utf8’:
autogen/include/Clownfish/String.h:574:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  574 |     const CFISH_Str_Contains_Utf8_t method = (CFISH_Str_Contains_Utf8_t)cfish_obj_method(self, CFISH_Str_Contains_Utf8_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find’:
autogen/include/Clownfish/String.h:585:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  585 |     const CFISH_Str_Find_t method = (CFISH_Str_Find_t)cfish_obj_method(self, CFISH_Str_Find_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find_Utf8’:
autogen/include/Clownfish/String.h:596:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_StringIterator * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  596 |     const CFISH_Str_Find_Utf8_t method = (CFISH_Str_Find_Utf8_t)cfish_obj_method(self, CFISH_Str_Find_Utf8_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals_Utf8’:
autogen/include/Clownfish/String.h:607:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  607 |     const CFISH_Str_Equals_Utf8_t method = (CFISH_Str_Equals_Utf8_t)cfish_obj_method(self, CFISH_Str_Equals_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Length’:
autogen/include/Clownfish/String.h:618:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  618 |     const CFISH_Str_Length_t method = (CFISH_Str_Length_t)cfish_obj_method(self, CFISH_Str_Length_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Size’:
autogen/include/Clownfish/String.h:629:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  629 |     const CFISH_Str_Get_Size_t method = (CFISH_Str_Get_Size_t)cfish_obj_method(self, CFISH_Str_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Ptr8’:
autogen/include/Clownfish/String.h:640:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_String *)’ [-Wcast-function-type]
  640 |     const CFISH_Str_Get_Ptr8_t method = (CFISH_Str_Get_Ptr8_t)cfish_obj_method(self, CFISH_Str_Get_Ptr8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Utf8’:
autogen/include/Clownfish/String.h:651:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_String *)’ [-Wcast-function-type]
  651 |     const CFISH_Str_To_Utf8_t method = (CFISH_Str_To_Utf8_t)cfish_obj_method(self, CFISH_Str_To_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_ByteBuf’:
autogen/include/Clownfish/String.h:662:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_String *)’ [-Wcast-function-type]
  662 |     const CFISH_Str_To_ByteBuf_t method = (CFISH_Str_To_ByteBuf_t)cfish_obj_method(self, CFISH_Str_To_ByteBuf_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Is_Copy_On_IncRef’:
autogen/include/Clownfish/String.h:673:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *)’ [-Wcast-function-type]
  673 |     const CFISH_Str_Is_Copy_On_IncRef_t method = (CFISH_Str_Is_Copy_On_IncRef_t)cfish_obj_method(self, CFISH_Str_Is_Copy_On_IncRef_OFFSET);
      |                                                  ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Hash_Sum’:
autogen/include/Clownfish/String.h:684:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  684 |     const CFISH_Str_Hash_Sum_t method = (CFISH_Str_Hash_Sum_t)cfish_obj_method(self, CFISH_Str_Hash_Sum_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim’:
autogen/include/Clownfish/String.h:695:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  695 |     const CFISH_Str_Trim_t method = (CFISH_Str_Trim_t)cfish_obj_method(self, CFISH_Str_Trim_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Top’:
autogen/include/Clownfish/String.h:706:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  706 |     const CFISH_Str_Trim_Top_t method = (CFISH_Str_Trim_Top_t)cfish_obj_method(self, CFISH_Str_Trim_Top_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Tail’:
autogen/include/Clownfish/String.h:717:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  717 |     const CFISH_Str_Trim_Tail_t method = (CFISH_Str_Trim_Tail_t)cfish_obj_method(self, CFISH_Str_Trim_Tail_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_At’:
autogen/include/Clownfish/String.h:728:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  728 |     const CFISH_Str_Code_Point_At_t method = (CFISH_Str_Code_Point_At_t)cfish_obj_method(self, CFISH_Str_Code_Point_At_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_From’:
autogen/include/Clownfish/String.h:739:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  739 |     const CFISH_Str_Code_Point_From_t method = (CFISH_Str_Code_Point_From_t)cfish_obj_method(self, CFISH_Str_Code_Point_From_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_SubString’:
autogen/include/Clownfish/String.h:750:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, size_t,  size_t)’ {aka ‘cfish_String * (*)(cfish_String *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  750 |     const CFISH_Str_SubString_t method = (CFISH_Str_SubString_t)cfish_obj_method(self, CFISH_Str_SubString_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Top’:
autogen/include/Clownfish/String.h:761:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  761 |     const CFISH_Str_Top_t method = (CFISH_Str_Top_t)cfish_obj_method(self, CFISH_Str_Top_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Tail’:
autogen/include/Clownfish/String.h:772:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  772 |     const CFISH_Str_Tail_t method = (CFISH_Str_Tail_t)cfish_obj_method(self, CFISH_Str_Tail_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_Host’:
autogen/include/Clownfish/String.h:1113:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_StringIterator *, void *)’ [-Wcast-function-type]
 1113 |     const CFISH_StrIter_To_Host_t method = (CFISH_StrIter_To_Host_t)cfish_obj_method(self, CFISH_StrIter_To_Host_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Clone’:
autogen/include/Clownfish/String.h:1124:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1124 |     const CFISH_StrIter_Clone_t method = (CFISH_StrIter_Clone_t)cfish_obj_method(self, CFISH_StrIter_Clone_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Equals’:
autogen/include/Clownfish/String.h:1135:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_Obj *)’ [-Wcast-function-type]
 1135 |     const CFISH_StrIter_Equals_t method = (CFISH_StrIter_Equals_t)cfish_obj_method(self, CFISH_StrIter_Equals_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Compare_To’:
autogen/include/Clownfish/String.h:1146:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_StringIterator *, cfish_Obj *)’} [-Wcast-function-type]
 1146 |     const CFISH_StrIter_Compare_To_t method = (CFISH_StrIter_Compare_To_t)cfish_obj_method(self, CFISH_StrIter_Compare_To_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_String’:
autogen/include/Clownfish/String.h:1168:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1168 |     const CFISH_StrIter_To_String_t method = (CFISH_StrIter_To_String_t)cfish_obj_method(self, CFISH_StrIter_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Assign’:
autogen/include/Clownfish/String.h:1179:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_StringIterator *, cfish_StringIterator *)’ [-Wcast-function-type]
 1179 |     const CFISH_StrIter_Assign_t method = (CFISH_StrIter_Assign_t)cfish_obj_method(self, CFISH_StrIter_Assign_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Next’:
autogen/include/Clownfish/String.h:1190:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1190 |     const CFISH_StrIter_Has_Next_t method = (CFISH_StrIter_Has_Next_t)cfish_obj_method(self, CFISH_StrIter_Has_Next_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Prev’:
autogen/include/Clownfish/String.h:1201:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1201 |     const CFISH_StrIter_Has_Prev_t method = (CFISH_StrIter_Has_Prev_t)cfish_obj_method(self, CFISH_StrIter_Has_Prev_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Next’:
autogen/include/Clownfish/String.h:1212:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1212 |     const CFISH_StrIter_Next_t method = (CFISH_StrIter_Next_t)cfish_obj_method(self, CFISH_StrIter_Next_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Prev’:
autogen/include/Clownfish/String.h:1223:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1223 |     const CFISH_StrIter_Prev_t method = (CFISH_StrIter_Prev_t)cfish_obj_method(self, CFISH_StrIter_Prev_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Advance’:
autogen/include/Clownfish/String.h:1234:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1234 |     const CFISH_StrIter_Advance_t method = (CFISH_StrIter_Advance_t)cfish_obj_method(self, CFISH_StrIter_Advance_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Recede’:
autogen/include/Clownfish/String.h:1245:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1245 |     const CFISH_StrIter_Recede_t method = (CFISH_StrIter_Recede_t)cfish_obj_method(self, CFISH_StrIter_Recede_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace’:
autogen/include/Clownfish/String.h:1256:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1256 |     const CFISH_StrIter_Skip_Whitespace_t method = (CFISH_StrIter_Skip_Whitespace_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_OFFSET);
      |                                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace_Back’:
autogen/include/Clownfish/String.h:1267:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1267 |     const CFISH_StrIter_Skip_Whitespace_Back_t method = (CFISH_StrIter_Skip_Whitespace_Back_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_Back_OFFSET);
      |                                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With’:
autogen/include/Clownfish/String.h:1278:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1278 |     const CFISH_StrIter_Starts_With_t method = (CFISH_StrIter_Starts_With_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:1289:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1289 |     const CFISH_StrIter_Starts_With_Utf8_t method = (CFISH_StrIter_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_Utf8_OFFSET);
      |                                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With’:
autogen/include/Clownfish/String.h:1300:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1300 |     const CFISH_StrIter_Ends_With_t method = (CFISH_StrIter_Ends_With_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:1311:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1311 |     const CFISH_StrIter_Ends_With_Utf8_t method = (CFISH_StrIter_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_Utf8_OFFSET);
      |                                                   ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/TestCharBuf.c -c -o cftest/Clownfish/Test/TestCharBuf.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/TestCharBuf.h:40,
                 from cftest/Clownfish/Test/TestCharBuf.c:26:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_To_Host’:
autogen/include/Clownfish/Test/TestCharBuf.h:130:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestCharBuf *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestCB_To_Host_t method = (TESTCFISH_TestCB_To_Host_t)cfish_obj_method(self, TESTCFISH_TestCB_To_Host_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_Clone’:
autogen/include/Clownfish/Test/TestCharBuf.h:137:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestCharBuf *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestCB_Clone_t method = (TESTCFISH_TestCB_Clone_t)cfish_obj_method(self, TESTCFISH_TestCB_Clone_OFFSET);
      |                                             ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_Equals’:
autogen/include/Clownfish/Test/TestCharBuf.h:144:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestCharBuf *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestCB_Equals_t method = (TESTCFISH_TestCB_Equals_t)cfish_obj_method(self, TESTCFISH_TestCB_Equals_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_Compare_To’:
autogen/include/Clownfish/Test/TestCharBuf.h:151:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestCharBuf *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestCharBuf *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestCB_Compare_To_t method = (TESTCFISH_TestCB_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestCB_Compare_To_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_To_String’:
autogen/include/Clownfish/Test/TestCharBuf.h:165:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestCharBuf *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestCB_To_String_t method = (TESTCFISH_TestCB_To_String_t)cfish_obj_method(self, TESTCFISH_TestCB_To_String_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_Run’:
autogen/include/Clownfish/Test/TestCharBuf.h:172:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestCharBuf *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestCB_Run_t method = (TESTCFISH_TestCB_Run_t)cfish_obj_method(self, TESTCFISH_TestCB_Run_OFFSET);
      |                                           ^
In file included from cftest/Clownfish/Test/TestCharBuf.c:28:
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_To_Host’:
autogen/include/Clownfish/CharBuf.h:203:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_CharBuf *, void *)’ [-Wcast-function-type]
  203 |     const CFISH_CB_To_Host_t method = (CFISH_CB_To_Host_t)cfish_obj_method(self, CFISH_CB_To_Host_OFFSET);
      |                                       ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Clone’:
autogen/include/Clownfish/CharBuf.h:214:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_CharBuf * (*)(cfish_CharBuf *)’ [-Wcast-function-type]
  214 |     const CFISH_CB_Clone_t method = (CFISH_CB_Clone_t)cfish_obj_method(self, CFISH_CB_Clone_OFFSET);
      |                                     ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Equals’:
autogen/include/Clownfish/CharBuf.h:225:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_CharBuf *, cfish_Obj *)’ [-Wcast-function-type]
  225 |     const CFISH_CB_Equals_t method = (CFISH_CB_Equals_t)cfish_obj_method(self, CFISH_CB_Equals_OFFSET);
      |                                      ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Compare_To’:
autogen/include/Clownfish/CharBuf.h:236:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_CharBuf *, cfish_Obj *)’ {aka ‘int (*)(cfish_CharBuf *, cfish_Obj *)’} [-Wcast-function-type]
  236 |     const CFISH_CB_Compare_To_t method = (CFISH_CB_Compare_To_t)cfish_obj_method(self, CFISH_CB_Compare_To_OFFSET);
      |                                          ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_To_String’:
autogen/include/Clownfish/CharBuf.h:258:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_CharBuf *)’ [-Wcast-function-type]
  258 |     const CFISH_CB_To_String_t method = (CFISH_CB_To_String_t)cfish_obj_method(self, CFISH_CB_To_String_OFFSET);
      |                                         ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Cat_Utf8’:
autogen/include/Clownfish/CharBuf.h:269:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_CharBuf *, const char *, size_t)’ {aka ‘void (*)(cfish_CharBuf *, const char *, long unsigned int)’} [-Wcast-function-type]
  269 |     const CFISH_CB_Cat_Utf8_t method = (CFISH_CB_Cat_Utf8_t)cfish_obj_method(self, CFISH_CB_Cat_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Cat_Trusted_Utf8’:
autogen/include/Clownfish/CharBuf.h:280:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_CharBuf *, const char *, size_t)’ {aka ‘void (*)(cfish_CharBuf *, const char *, long unsigned int)’} [-Wcast-function-type]
  280 |     const CFISH_CB_Cat_Trusted_Utf8_t method = (CFISH_CB_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_CB_Cat_Trusted_Utf8_OFFSET);
      |                                                ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Cat’:
autogen/include/Clownfish/CharBuf.h:291:35: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_CharBuf *, cfish_String *)’ [-Wcast-function-type]
  291 |     const CFISH_CB_Cat_t method = (CFISH_CB_Cat_t)cfish_obj_method(self, CFISH_CB_Cat_OFFSET);
      |                                   ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_VCatF’:
autogen/include/Clownfish/CharBuf.h:302:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_CharBuf *, const char *, va_list)’ [-Wcast-function-type]
  302 |     const CFISH_CB_VCatF_t method = (CFISH_CB_VCatF_t)cfish_obj_method(self, CFISH_CB_VCatF_OFFSET);
      |                                     ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Cat_Char’:
autogen/include/Clownfish/CharBuf.h:313:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_CharBuf *, int32_t)’ {aka ‘void (*)(cfish_CharBuf *, int)’} [-Wcast-function-type]
  313 |     const CFISH_CB_Cat_Char_t method = (CFISH_CB_Cat_Char_t)cfish_obj_method(self, CFISH_CB_Cat_Char_OFFSET);
      |                                        ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Grow’:
autogen/include/Clownfish/CharBuf.h:324:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_CharBuf *, size_t)’ {aka ‘void (*)(cfish_CharBuf *, long unsigned int)’} [-Wcast-function-type]
  324 |     const CFISH_CB_Grow_t method = (CFISH_CB_Grow_t)cfish_obj_method(self, CFISH_CB_Grow_OFFSET);
      |                                    ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Get_Size’:
autogen/include/Clownfish/CharBuf.h:346:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_CharBuf *)’ {aka ‘long unsigned int (*)(cfish_CharBuf *)’} [-Wcast-function-type]
  346 |     const CFISH_CB_Get_Size_t method = (CFISH_CB_Get_Size_t)cfish_obj_method(self, CFISH_CB_Get_Size_OFFSET);
      |                                        ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Yield_String’:
autogen/include/Clownfish/CharBuf.h:357:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_CharBuf *)’ [-Wcast-function-type]
  357 |     const CFISH_CB_Yield_String_t method = (CFISH_CB_Yield_String_t)cfish_obj_method(self, CFISH_CB_Yield_String_OFFSET);
      |                                            ^
In file included from cftest/Clownfish/Test/TestCharBuf.c:29:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
In file included from cftest/Clownfish/Test/TestCharBuf.c:30:
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_To_Host’:
autogen/include/Clownfish/Num.h:162:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Float *, void *)’ [-Wcast-function-type]
  162 |     const CFISH_Float_To_Host_t method = (CFISH_Float_To_Host_t)cfish_obj_method(self, CFISH_Float_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_Clone’:
autogen/include/Clownfish/Num.h:173:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Float * (*)(cfish_Float *)’ [-Wcast-function-type]
  173 |     const CFISH_Float_Clone_t method = (CFISH_Float_Clone_t)cfish_obj_method(self, CFISH_Float_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_Equals’:
autogen/include/Clownfish/Num.h:184:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Float *, cfish_Obj *)’ [-Wcast-function-type]
  184 |     const CFISH_Float_Equals_t method = (CFISH_Float_Equals_t)cfish_obj_method(self, CFISH_Float_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_Compare_To’:
autogen/include/Clownfish/Num.h:195:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Float *, cfish_Obj *)’ {aka ‘int (*)(cfish_Float *, cfish_Obj *)’} [-Wcast-function-type]
  195 |     const CFISH_Float_Compare_To_t method = (CFISH_Float_Compare_To_t)cfish_obj_method(self, CFISH_Float_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_To_String’:
autogen/include/Clownfish/Num.h:217:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Float *)’ [-Wcast-function-type]
  217 |     const CFISH_Float_To_String_t method = (CFISH_Float_To_String_t)cfish_obj_method(self, CFISH_Float_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_Get_Value’:
autogen/include/Clownfish/Num.h:228:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_Float *)’ [-Wcast-function-type]
  228 |     const CFISH_Float_Get_Value_t method = (CFISH_Float_Get_Value_t)cfish_obj_method(self, CFISH_Float_Get_Value_OFFSET);
      |                                            ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_To_I64’:
autogen/include/Clownfish/Num.h:239:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_Float *)’ {aka ‘long int (*)(cfish_Float *)’} [-Wcast-function-type]
  239 |     const CFISH_Float_To_I64_t method = (CFISH_Float_To_I64_t)cfish_obj_method(self, CFISH_Float_To_I64_OFFSET);
      |                                         ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_To_Host’:
autogen/include/Clownfish/Num.h:417:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Integer *, void *)’ [-Wcast-function-type]
  417 |     const CFISH_Int_To_Host_t method = (CFISH_Int_To_Host_t)cfish_obj_method(self, CFISH_Int_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_Clone’:
autogen/include/Clownfish/Num.h:428:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Integer * (*)(cfish_Integer *)’ [-Wcast-function-type]
  428 |     const CFISH_Int_Clone_t method = (CFISH_Int_Clone_t)cfish_obj_method(self, CFISH_Int_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_Equals’:
autogen/include/Clownfish/Num.h:439:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Integer *, cfish_Obj *)’ [-Wcast-function-type]
  439 |     const CFISH_Int_Equals_t method = (CFISH_Int_Equals_t)cfish_obj_method(self, CFISH_Int_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_Compare_To’:
autogen/include/Clownfish/Num.h:450:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Integer *, cfish_Obj *)’ {aka ‘int (*)(cfish_Integer *, cfish_Obj *)’} [-Wcast-function-type]
  450 |     const CFISH_Int_Compare_To_t method = (CFISH_Int_Compare_To_t)cfish_obj_method(self, CFISH_Int_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_To_String’:
autogen/include/Clownfish/Num.h:472:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Integer *)’ [-Wcast-function-type]
  472 |     const CFISH_Int_To_String_t method = (CFISH_Int_To_String_t)cfish_obj_method(self, CFISH_Int_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_Get_Value’:
autogen/include/Clownfish/Num.h:483:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_Integer *)’ {aka ‘long int (*)(cfish_Integer *)’} [-Wcast-function-type]
  483 |     const CFISH_Int_Get_Value_t method = (CFISH_Int_Get_Value_t)cfish_obj_method(self, CFISH_Int_Get_Value_OFFSET);
      |                                          ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_To_F64’:
autogen/include/Clownfish/Num.h:494:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_Integer *)’ [-Wcast-function-type]
  494 |     const CFISH_Int_To_F64_t method = (CFISH_Int_To_F64_t)cfish_obj_method(self, CFISH_Int_To_F64_OFFSET);
      |                                       ^
In file included from autogen/include/Clownfish/String.h:41,
                 from cftest/Clownfish/Test/TestCharBuf.c:31:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Host’:
autogen/include/Clownfish/String.h:387:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_String *, void *)’ [-Wcast-function-type]
  387 |     const CFISH_Str_To_Host_t method = (CFISH_Str_To_Host_t)cfish_obj_method(self, CFISH_Str_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Clone’:
autogen/include/Clownfish/String.h:398:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  398 |     const CFISH_Str_Clone_t method = (CFISH_Str_Clone_t)cfish_obj_method(self, CFISH_Str_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals’:
autogen/include/Clownfish/String.h:409:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  409 |     const CFISH_Str_Equals_t method = (CFISH_Str_Equals_t)cfish_obj_method(self, CFISH_Str_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Compare_To’:
autogen/include/Clownfish/String.h:420:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, cfish_Obj *)’ {aka ‘int (*)(cfish_String *, cfish_Obj *)’} [-Wcast-function-type]
  420 |     const CFISH_Str_Compare_To_t method = (CFISH_Str_Compare_To_t)cfish_obj_method(self, CFISH_Str_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_String’:
autogen/include/Clownfish/String.h:442:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  442 |     const CFISH_Str_To_String_t method = (CFISH_Str_To_String_t)cfish_obj_method(self, CFISH_Str_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat’:
autogen/include/Clownfish/String.h:453:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  453 |     const CFISH_Str_Cat_t method = (CFISH_Str_Cat_t)cfish_obj_method(self, CFISH_Str_Cat_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Utf8’:
autogen/include/Clownfish/String.h:464:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  464 |     const CFISH_Str_Cat_Utf8_t method = (CFISH_Str_Cat_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Utf8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Trusted_Utf8’:
autogen/include/Clownfish/String.h:475:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  475 |     const CFISH_Str_Cat_Trusted_Utf8_t method = (CFISH_Str_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Trusted_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_I64’:
autogen/include/Clownfish/String.h:486:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *)’ {aka ‘long int (*)(cfish_String *)’} [-Wcast-function-type]
  486 |     const CFISH_Str_To_I64_t method = (CFISH_Str_To_I64_t)cfish_obj_method(self, CFISH_Str_To_I64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_BaseX_To_I64’:
autogen/include/Clownfish/String.h:497:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *, uint32_t)’ {aka ‘long int (*)(cfish_String *, unsigned int)’} [-Wcast-function-type]
  497 |     const CFISH_Str_BaseX_To_I64_t method = (CFISH_Str_BaseX_To_I64_t)cfish_obj_method(self, CFISH_Str_BaseX_To_I64_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_F64’:
autogen/include/Clownfish/String.h:508:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_String *)’ [-Wcast-function-type]
  508 |     const CFISH_Str_To_F64_t method = (CFISH_Str_To_F64_t)cfish_obj_method(self, CFISH_Str_To_F64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With’:
autogen/include/Clownfish/String.h:519:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  519 |     const CFISH_Str_Starts_With_t method = (CFISH_Str_Starts_With_t)cfish_obj_method(self, CFISH_Str_Starts_With_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:530:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  530 |     const CFISH_Str_Starts_With_Utf8_t method = (CFISH_Str_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Starts_With_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With’:
autogen/include/Clownfish/String.h:541:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  541 |     const CFISH_Str_Ends_With_t method = (CFISH_Str_Ends_With_t)cfish_obj_method(self, CFISH_Str_Ends_With_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:552:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  552 |     const CFISH_Str_Ends_With_Utf8_t method = (CFISH_Str_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Ends_With_Utf8_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains’:
autogen/include/Clownfish/String.h:563:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  563 |     const CFISH_Str_Contains_t method = (CFISH_Str_Contains_t)cfish_obj_method(self, CFISH_Str_Contains_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains_Utf8’:
autogen/include/Clownfish/String.h:574:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  574 |     const CFISH_Str_Contains_Utf8_t method = (CFISH_Str_Contains_Utf8_t)cfish_obj_method(self, CFISH_Str_Contains_Utf8_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find’:
autogen/include/Clownfish/String.h:585:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  585 |     const CFISH_Str_Find_t method = (CFISH_Str_Find_t)cfish_obj_method(self, CFISH_Str_Find_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find_Utf8’:
autogen/include/Clownfish/String.h:596:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_StringIterator * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  596 |     const CFISH_Str_Find_Utf8_t method = (CFISH_Str_Find_Utf8_t)cfish_obj_method(self, CFISH_Str_Find_Utf8_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals_Utf8’:
autogen/include/Clownfish/String.h:607:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  607 |     const CFISH_Str_Equals_Utf8_t method = (CFISH_Str_Equals_Utf8_t)cfish_obj_method(self, CFISH_Str_Equals_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Length’:
autogen/include/Clownfish/String.h:618:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  618 |     const CFISH_Str_Length_t method = (CFISH_Str_Length_t)cfish_obj_method(self, CFISH_Str_Length_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Size’:
autogen/include/Clownfish/String.h:629:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  629 |     const CFISH_Str_Get_Size_t method = (CFISH_Str_Get_Size_t)cfish_obj_method(self, CFISH_Str_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Ptr8’:
autogen/include/Clownfish/String.h:640:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_String *)’ [-Wcast-function-type]
  640 |     const CFISH_Str_Get_Ptr8_t method = (CFISH_Str_Get_Ptr8_t)cfish_obj_method(self, CFISH_Str_Get_Ptr8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Utf8’:
autogen/include/Clownfish/String.h:651:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_String *)’ [-Wcast-function-type]
  651 |     const CFISH_Str_To_Utf8_t method = (CFISH_Str_To_Utf8_t)cfish_obj_method(self, CFISH_Str_To_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_ByteBuf’:
autogen/include/Clownfish/String.h:662:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_String *)’ [-Wcast-function-type]
  662 |     const CFISH_Str_To_ByteBuf_t method = (CFISH_Str_To_ByteBuf_t)cfish_obj_method(self, CFISH_Str_To_ByteBuf_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Is_Copy_On_IncRef’:
autogen/include/Clownfish/String.h:673:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *)’ [-Wcast-function-type]
  673 |     const CFISH_Str_Is_Copy_On_IncRef_t method = (CFISH_Str_Is_Copy_On_IncRef_t)cfish_obj_method(self, CFISH_Str_Is_Copy_On_IncRef_OFFSET);
      |                                                  ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Hash_Sum’:
autogen/include/Clownfish/String.h:684:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  684 |     const CFISH_Str_Hash_Sum_t method = (CFISH_Str_Hash_Sum_t)cfish_obj_method(self, CFISH_Str_Hash_Sum_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim’:
autogen/include/Clownfish/String.h:695:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  695 |     const CFISH_Str_Trim_t method = (CFISH_Str_Trim_t)cfish_obj_method(self, CFISH_Str_Trim_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Top’:
autogen/include/Clownfish/String.h:706:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  706 |     const CFISH_Str_Trim_Top_t method = (CFISH_Str_Trim_Top_t)cfish_obj_method(self, CFISH_Str_Trim_Top_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Tail’:
autogen/include/Clownfish/String.h:717:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  717 |     const CFISH_Str_Trim_Tail_t method = (CFISH_Str_Trim_Tail_t)cfish_obj_method(self, CFISH_Str_Trim_Tail_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_At’:
autogen/include/Clownfish/String.h:728:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  728 |     const CFISH_Str_Code_Point_At_t method = (CFISH_Str_Code_Point_At_t)cfish_obj_method(self, CFISH_Str_Code_Point_At_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_From’:
autogen/include/Clownfish/String.h:739:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  739 |     const CFISH_Str_Code_Point_From_t method = (CFISH_Str_Code_Point_From_t)cfish_obj_method(self, CFISH_Str_Code_Point_From_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_SubString’:
autogen/include/Clownfish/String.h:750:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, size_t,  size_t)’ {aka ‘cfish_String * (*)(cfish_String *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  750 |     const CFISH_Str_SubString_t method = (CFISH_Str_SubString_t)cfish_obj_method(self, CFISH_Str_SubString_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Top’:
autogen/include/Clownfish/String.h:761:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  761 |     const CFISH_Str_Top_t method = (CFISH_Str_Top_t)cfish_obj_method(self, CFISH_Str_Top_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Tail’:
autogen/include/Clownfish/String.h:772:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  772 |     const CFISH_Str_Tail_t method = (CFISH_Str_Tail_t)cfish_obj_method(self, CFISH_Str_Tail_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_Host’:
autogen/include/Clownfish/String.h:1113:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_StringIterator *, void *)’ [-Wcast-function-type]
 1113 |     const CFISH_StrIter_To_Host_t method = (CFISH_StrIter_To_Host_t)cfish_obj_method(self, CFISH_StrIter_To_Host_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Clone’:
autogen/include/Clownfish/String.h:1124:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1124 |     const CFISH_StrIter_Clone_t method = (CFISH_StrIter_Clone_t)cfish_obj_method(self, CFISH_StrIter_Clone_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Equals’:
autogen/include/Clownfish/String.h:1135:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_Obj *)’ [-Wcast-function-type]
 1135 |     const CFISH_StrIter_Equals_t method = (CFISH_StrIter_Equals_t)cfish_obj_method(self, CFISH_StrIter_Equals_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Compare_To’:
autogen/include/Clownfish/String.h:1146:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_StringIterator *, cfish_Obj *)’} [-Wcast-function-type]
 1146 |     const CFISH_StrIter_Compare_To_t method = (CFISH_StrIter_Compare_To_t)cfish_obj_method(self, CFISH_StrIter_Compare_To_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_String’:
autogen/include/Clownfish/String.h:1168:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1168 |     const CFISH_StrIter_To_String_t method = (CFISH_StrIter_To_String_t)cfish_obj_method(self, CFISH_StrIter_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Assign’:
autogen/include/Clownfish/String.h:1179:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_StringIterator *, cfish_StringIterator *)’ [-Wcast-function-type]
 1179 |     const CFISH_StrIter_Assign_t method = (CFISH_StrIter_Assign_t)cfish_obj_method(self, CFISH_StrIter_Assign_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Next’:
autogen/include/Clownfish/String.h:1190:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1190 |     const CFISH_StrIter_Has_Next_t method = (CFISH_StrIter_Has_Next_t)cfish_obj_method(self, CFISH_StrIter_Has_Next_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Prev’:
autogen/include/Clownfish/String.h:1201:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1201 |     const CFISH_StrIter_Has_Prev_t method = (CFISH_StrIter_Has_Prev_t)cfish_obj_method(self, CFISH_StrIter_Has_Prev_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Next’:
autogen/include/Clownfish/String.h:1212:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1212 |     const CFISH_StrIter_Next_t method = (CFISH_StrIter_Next_t)cfish_obj_method(self, CFISH_StrIter_Next_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Prev’:
autogen/include/Clownfish/String.h:1223:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1223 |     const CFISH_StrIter_Prev_t method = (CFISH_StrIter_Prev_t)cfish_obj_method(self, CFISH_StrIter_Prev_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Advance’:
autogen/include/Clownfish/String.h:1234:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1234 |     const CFISH_StrIter_Advance_t method = (CFISH_StrIter_Advance_t)cfish_obj_method(self, CFISH_StrIter_Advance_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Recede’:
autogen/include/Clownfish/String.h:1245:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1245 |     const CFISH_StrIter_Recede_t method = (CFISH_StrIter_Recede_t)cfish_obj_method(self, CFISH_StrIter_Recede_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace’:
autogen/include/Clownfish/String.h:1256:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1256 |     const CFISH_StrIter_Skip_Whitespace_t method = (CFISH_StrIter_Skip_Whitespace_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_OFFSET);
      |                                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace_Back’:
autogen/include/Clownfish/String.h:1267:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1267 |     const CFISH_StrIter_Skip_Whitespace_Back_t method = (CFISH_StrIter_Skip_Whitespace_Back_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_Back_OFFSET);
      |                                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With’:
autogen/include/Clownfish/String.h:1278:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1278 |     const CFISH_StrIter_Starts_With_t method = (CFISH_StrIter_Starts_With_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:1289:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1289 |     const CFISH_StrIter_Starts_With_Utf8_t method = (CFISH_StrIter_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_Utf8_OFFSET);
      |                                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With’:
autogen/include/Clownfish/String.h:1300:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1300 |     const CFISH_StrIter_Ends_With_t method = (CFISH_StrIter_Ends_With_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:1311:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1311 |     const CFISH_StrIter_Ends_With_Utf8_t method = (CFISH_StrIter_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_Utf8_OFFSET);
      |                                                   ^
In file included from cftest/Clownfish/Test/TestCharBuf.c:33:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/TestClass.c -c -o cftest/Clownfish/Test/TestClass.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/TestClass.h:40,
                 from cftest/Clownfish/Test/TestClass.c:28:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_To_Host’:
autogen/include/Clownfish/Test/TestClass.h:130:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestClass *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestClass_To_Host_t method = (TESTCFISH_TestClass_To_Host_t)cfish_obj_method(self, TESTCFISH_TestClass_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_Clone’:
autogen/include/Clownfish/Test/TestClass.h:137:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestClass *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestClass_Clone_t method = (TESTCFISH_TestClass_Clone_t)cfish_obj_method(self, TESTCFISH_TestClass_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_Equals’:
autogen/include/Clownfish/Test/TestClass.h:144:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestClass *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestClass_Equals_t method = (TESTCFISH_TestClass_Equals_t)cfish_obj_method(self, TESTCFISH_TestClass_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_Compare_To’:
autogen/include/Clownfish/Test/TestClass.h:151:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestClass *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestClass *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestClass_Compare_To_t method = (TESTCFISH_TestClass_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestClass_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_To_String’:
autogen/include/Clownfish/Test/TestClass.h:165:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestClass *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestClass_To_String_t method = (TESTCFISH_TestClass_To_String_t)cfish_obj_method(self, TESTCFISH_TestClass_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_Run’:
autogen/include/Clownfish/Test/TestClass.h:172:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestClass *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestClass_Run_t method = (TESTCFISH_TestClass_Run_t)cfish_obj_method(self, TESTCFISH_TestClass_Run_OFFSET);
      |                                              ^
In file included from cftest/Clownfish/Test/TestClass.c:30:
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_To_Host’:
autogen/include/Clownfish/Boolean.h:159:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Boolean *, void *)’ [-Wcast-function-type]
  159 |     const CFISH_Bool_To_Host_t method = (CFISH_Bool_To_Host_t)cfish_obj_method(self, CFISH_Bool_To_Host_OFFSET);
      |                                         ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Clone’:
autogen/include/Clownfish/Boolean.h:170:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Boolean * (*)(cfish_Boolean *)’ [-Wcast-function-type]
  170 |     const CFISH_Bool_Clone_t method = (CFISH_Bool_Clone_t)cfish_obj_method(self, CFISH_Bool_Clone_OFFSET);
      |                                       ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Equals’:
autogen/include/Clownfish/Boolean.h:181:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Boolean *, cfish_Obj *)’ [-Wcast-function-type]
  181 |     const CFISH_Bool_Equals_t method = (CFISH_Bool_Equals_t)cfish_obj_method(self, CFISH_Bool_Equals_OFFSET);
      |                                        ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Compare_To’:
autogen/include/Clownfish/Boolean.h:192:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Boolean *, cfish_Obj *)’ {aka ‘int (*)(cfish_Boolean *, cfish_Obj *)’} [-Wcast-function-type]
  192 |     const CFISH_Bool_Compare_To_t method = (CFISH_Bool_Compare_To_t)cfish_obj_method(self, CFISH_Bool_Compare_To_OFFSET);
      |                                            ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_To_String’:
autogen/include/Clownfish/Boolean.h:214:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Boolean *)’ [-Wcast-function-type]
  214 |     const CFISH_Bool_To_String_t method = (CFISH_Bool_To_String_t)cfish_obj_method(self, CFISH_Bool_To_String_OFFSET);
      |                                           ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Get_Value’:
autogen/include/Clownfish/Boolean.h:225:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Boolean *)’ [-Wcast-function-type]
  225 |     const CFISH_Bool_Get_Value_t method = (CFISH_Bool_Get_Value_t)cfish_obj_method(self, CFISH_Bool_Get_Value_OFFSET);
      |                                           ^
In file included from cftest/Clownfish/Test/TestClass.c:31:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
In file included from cftest/Clownfish/Test/TestClass.c:32:
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_To_Host’:
autogen/include/Clownfish/Method.h:177:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Method *, void *)’ [-Wcast-function-type]
  177 |     const CFISH_Method_To_Host_t method = (CFISH_Method_To_Host_t)cfish_obj_method(self, CFISH_Method_To_Host_OFFSET);
      |                                           ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_Clone’:
autogen/include/Clownfish/Method.h:188:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Method *)’ [-Wcast-function-type]
  188 |     const CFISH_Method_Clone_t method = (CFISH_Method_Clone_t)cfish_obj_method(self, CFISH_Method_Clone_OFFSET);
      |                                         ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_Equals’:
autogen/include/Clownfish/Method.h:199:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Method *, cfish_Obj *)’ [-Wcast-function-type]
  199 |     const CFISH_Method_Equals_t method = (CFISH_Method_Equals_t)cfish_obj_method(self, CFISH_Method_Equals_OFFSET);
      |                                          ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_Compare_To’:
autogen/include/Clownfish/Method.h:210:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Method *, cfish_Obj *)’ {aka ‘int (*)(cfish_Method *, cfish_Obj *)’} [-Wcast-function-type]
  210 |     const CFISH_Method_Compare_To_t method = (CFISH_Method_Compare_To_t)cfish_obj_method(self, CFISH_Method_Compare_To_OFFSET);
      |                                              ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_To_String’:
autogen/include/Clownfish/Method.h:232:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Method *)’ [-Wcast-function-type]
  232 |     const CFISH_Method_To_String_t method = (CFISH_Method_To_String_t)cfish_obj_method(self, CFISH_Method_To_String_OFFSET);
      |                                             ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_Get_Name’:
autogen/include/Clownfish/Method.h:243:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Method *)’ [-Wcast-function-type]
  243 |     const CFISH_Method_Get_Name_t method = (CFISH_Method_Get_Name_t)cfish_obj_method(self, CFISH_Method_Get_Name_OFFSET);
      |                                            ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_Set_Host_Alias’:
autogen/include/Clownfish/Method.h:254:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Method *, cfish_String *)’ [-Wcast-function-type]
  254 |     const CFISH_Method_Set_Host_Alias_t method = (CFISH_Method_Set_Host_Alias_t)cfish_obj_method(self, CFISH_Method_Set_Host_Alias_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_Get_Host_Alias’:
autogen/include/Clownfish/Method.h:265:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Method *)’ [-Wcast-function-type]
  265 |     const CFISH_Method_Get_Host_Alias_t method = (CFISH_Method_Get_Host_Alias_t)cfish_obj_method(self, CFISH_Method_Get_Host_Alias_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_Is_Excluded_From_Host’:
autogen/include/Clownfish/Method.h:276:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Method *)’ [-Wcast-function-type]
  276 |     const CFISH_Method_Is_Excluded_From_Host_t method = (CFISH_Method_Is_Excluded_From_Host_t)cfish_obj_method(self, CFISH_Method_Is_Excluded_From_Host_OFFSET);
      |                                                         ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_Host_Name’:
autogen/include/Clownfish/Method.h:287:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Method *)’ [-Wcast-function-type]
  287 |     const CFISH_Method_Host_Name_t method = (CFISH_Method_Host_Name_t)cfish_obj_method(self, CFISH_Method_Host_Name_OFFSET);
      |                                             ^
In file included from autogen/include/Clownfish/String.h:44,
                 from cftest/Clownfish/Test/TestClass.c:33:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Host’:
autogen/include/Clownfish/String.h:387:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_String *, void *)’ [-Wcast-function-type]
  387 |     const CFISH_Str_To_Host_t method = (CFISH_Str_To_Host_t)cfish_obj_method(self, CFISH_Str_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Clone’:
autogen/include/Clownfish/String.h:398:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  398 |     const CFISH_Str_Clone_t method = (CFISH_Str_Clone_t)cfish_obj_method(self, CFISH_Str_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals’:
autogen/include/Clownfish/String.h:409:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  409 |     const CFISH_Str_Equals_t method = (CFISH_Str_Equals_t)cfish_obj_method(self, CFISH_Str_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Compare_To’:
autogen/include/Clownfish/String.h:420:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, cfish_Obj *)’ {aka ‘int (*)(cfish_String *, cfish_Obj *)’} [-Wcast-function-type]
  420 |     const CFISH_Str_Compare_To_t method = (CFISH_Str_Compare_To_t)cfish_obj_method(self, CFISH_Str_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_String’:
autogen/include/Clownfish/String.h:442:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  442 |     const CFISH_Str_To_String_t method = (CFISH_Str_To_String_t)cfish_obj_method(self, CFISH_Str_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat’:
autogen/include/Clownfish/String.h:453:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  453 |     const CFISH_Str_Cat_t method = (CFISH_Str_Cat_t)cfish_obj_method(self, CFISH_Str_Cat_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Utf8’:
autogen/include/Clownfish/String.h:464:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  464 |     const CFISH_Str_Cat_Utf8_t method = (CFISH_Str_Cat_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Utf8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Trusted_Utf8’:
autogen/include/Clownfish/String.h:475:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  475 |     const CFISH_Str_Cat_Trusted_Utf8_t method = (CFISH_Str_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Trusted_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_I64’:
autogen/include/Clownfish/String.h:486:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *)’ {aka ‘long int (*)(cfish_String *)’} [-Wcast-function-type]
  486 |     const CFISH_Str_To_I64_t method = (CFISH_Str_To_I64_t)cfish_obj_method(self, CFISH_Str_To_I64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_BaseX_To_I64’:
autogen/include/Clownfish/String.h:497:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *, uint32_t)’ {aka ‘long int (*)(cfish_String *, unsigned int)’} [-Wcast-function-type]
  497 |     const CFISH_Str_BaseX_To_I64_t method = (CFISH_Str_BaseX_To_I64_t)cfish_obj_method(self, CFISH_Str_BaseX_To_I64_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_F64’:
autogen/include/Clownfish/String.h:508:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_String *)’ [-Wcast-function-type]
  508 |     const CFISH_Str_To_F64_t method = (CFISH_Str_To_F64_t)cfish_obj_method(self, CFISH_Str_To_F64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With’:
autogen/include/Clownfish/String.h:519:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  519 |     const CFISH_Str_Starts_With_t method = (CFISH_Str_Starts_With_t)cfish_obj_method(self, CFISH_Str_Starts_With_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:530:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  530 |     const CFISH_Str_Starts_With_Utf8_t method = (CFISH_Str_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Starts_With_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With’:
autogen/include/Clownfish/String.h:541:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  541 |     const CFISH_Str_Ends_With_t method = (CFISH_Str_Ends_With_t)cfish_obj_method(self, CFISH_Str_Ends_With_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:552:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  552 |     const CFISH_Str_Ends_With_Utf8_t method = (CFISH_Str_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Ends_With_Utf8_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains’:
autogen/include/Clownfish/String.h:563:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  563 |     const CFISH_Str_Contains_t method = (CFISH_Str_Contains_t)cfish_obj_method(self, CFISH_Str_Contains_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains_Utf8’:
autogen/include/Clownfish/String.h:574:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  574 |     const CFISH_Str_Contains_Utf8_t method = (CFISH_Str_Contains_Utf8_t)cfish_obj_method(self, CFISH_Str_Contains_Utf8_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find’:
autogen/include/Clownfish/String.h:585:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  585 |     const CFISH_Str_Find_t method = (CFISH_Str_Find_t)cfish_obj_method(self, CFISH_Str_Find_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find_Utf8’:
autogen/include/Clownfish/String.h:596:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_StringIterator * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  596 |     const CFISH_Str_Find_Utf8_t method = (CFISH_Str_Find_Utf8_t)cfish_obj_method(self, CFISH_Str_Find_Utf8_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals_Utf8’:
autogen/include/Clownfish/String.h:607:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  607 |     const CFISH_Str_Equals_Utf8_t method = (CFISH_Str_Equals_Utf8_t)cfish_obj_method(self, CFISH_Str_Equals_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Length’:
autogen/include/Clownfish/String.h:618:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  618 |     const CFISH_Str_Length_t method = (CFISH_Str_Length_t)cfish_obj_method(self, CFISH_Str_Length_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Size’:
autogen/include/Clownfish/String.h:629:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  629 |     const CFISH_Str_Get_Size_t method = (CFISH_Str_Get_Size_t)cfish_obj_method(self, CFISH_Str_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Ptr8’:
autogen/include/Clownfish/String.h:640:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_String *)’ [-Wcast-function-type]
  640 |     const CFISH_Str_Get_Ptr8_t method = (CFISH_Str_Get_Ptr8_t)cfish_obj_method(self, CFISH_Str_Get_Ptr8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Utf8’:
autogen/include/Clownfish/String.h:651:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_String *)’ [-Wcast-function-type]
  651 |     const CFISH_Str_To_Utf8_t method = (CFISH_Str_To_Utf8_t)cfish_obj_method(self, CFISH_Str_To_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_ByteBuf’:
autogen/include/Clownfish/String.h:662:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_String *)’ [-Wcast-function-type]
  662 |     const CFISH_Str_To_ByteBuf_t method = (CFISH_Str_To_ByteBuf_t)cfish_obj_method(self, CFISH_Str_To_ByteBuf_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Is_Copy_On_IncRef’:
autogen/include/Clownfish/String.h:673:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *)’ [-Wcast-function-type]
  673 |     const CFISH_Str_Is_Copy_On_IncRef_t method = (CFISH_Str_Is_Copy_On_IncRef_t)cfish_obj_method(self, CFISH_Str_Is_Copy_On_IncRef_OFFSET);
      |                                                  ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Hash_Sum’:
autogen/include/Clownfish/String.h:684:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  684 |     const CFISH_Str_Hash_Sum_t method = (CFISH_Str_Hash_Sum_t)cfish_obj_method(self, CFISH_Str_Hash_Sum_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim’:
autogen/include/Clownfish/String.h:695:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  695 |     const CFISH_Str_Trim_t method = (CFISH_Str_Trim_t)cfish_obj_method(self, CFISH_Str_Trim_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Top’:
autogen/include/Clownfish/String.h:706:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  706 |     const CFISH_Str_Trim_Top_t method = (CFISH_Str_Trim_Top_t)cfish_obj_method(self, CFISH_Str_Trim_Top_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Tail’:
autogen/include/Clownfish/String.h:717:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  717 |     const CFISH_Str_Trim_Tail_t method = (CFISH_Str_Trim_Tail_t)cfish_obj_method(self, CFISH_Str_Trim_Tail_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_At’:
autogen/include/Clownfish/String.h:728:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  728 |     const CFISH_Str_Code_Point_At_t method = (CFISH_Str_Code_Point_At_t)cfish_obj_method(self, CFISH_Str_Code_Point_At_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_From’:
autogen/include/Clownfish/String.h:739:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  739 |     const CFISH_Str_Code_Point_From_t method = (CFISH_Str_Code_Point_From_t)cfish_obj_method(self, CFISH_Str_Code_Point_From_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_SubString’:
autogen/include/Clownfish/String.h:750:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, size_t,  size_t)’ {aka ‘cfish_String * (*)(cfish_String *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  750 |     const CFISH_Str_SubString_t method = (CFISH_Str_SubString_t)cfish_obj_method(self, CFISH_Str_SubString_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Top’:
autogen/include/Clownfish/String.h:761:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  761 |     const CFISH_Str_Top_t method = (CFISH_Str_Top_t)cfish_obj_method(self, CFISH_Str_Top_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Tail’:
autogen/include/Clownfish/String.h:772:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  772 |     const CFISH_Str_Tail_t method = (CFISH_Str_Tail_t)cfish_obj_method(self, CFISH_Str_Tail_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_Host’:
autogen/include/Clownfish/String.h:1113:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_StringIterator *, void *)’ [-Wcast-function-type]
 1113 |     const CFISH_StrIter_To_Host_t method = (CFISH_StrIter_To_Host_t)cfish_obj_method(self, CFISH_StrIter_To_Host_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Clone’:
autogen/include/Clownfish/String.h:1124:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1124 |     const CFISH_StrIter_Clone_t method = (CFISH_StrIter_Clone_t)cfish_obj_method(self, CFISH_StrIter_Clone_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Equals’:
autogen/include/Clownfish/String.h:1135:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_Obj *)’ [-Wcast-function-type]
 1135 |     const CFISH_StrIter_Equals_t method = (CFISH_StrIter_Equals_t)cfish_obj_method(self, CFISH_StrIter_Equals_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Compare_To’:
autogen/include/Clownfish/String.h:1146:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_StringIterator *, cfish_Obj *)’} [-Wcast-function-type]
 1146 |     const CFISH_StrIter_Compare_To_t method = (CFISH_StrIter_Compare_To_t)cfish_obj_method(self, CFISH_StrIter_Compare_To_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_String’:
autogen/include/Clownfish/String.h:1168:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1168 |     const CFISH_StrIter_To_String_t method = (CFISH_StrIter_To_String_t)cfish_obj_method(self, CFISH_StrIter_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Assign’:
autogen/include/Clownfish/String.h:1179:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_StringIterator *, cfish_StringIterator *)’ [-Wcast-function-type]
 1179 |     const CFISH_StrIter_Assign_t method = (CFISH_StrIter_Assign_t)cfish_obj_method(self, CFISH_StrIter_Assign_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Next’:
autogen/include/Clownfish/String.h:1190:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1190 |     const CFISH_StrIter_Has_Next_t method = (CFISH_StrIter_Has_Next_t)cfish_obj_method(self, CFISH_StrIter_Has_Next_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Prev’:
autogen/include/Clownfish/String.h:1201:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1201 |     const CFISH_StrIter_Has_Prev_t method = (CFISH_StrIter_Has_Prev_t)cfish_obj_method(self, CFISH_StrIter_Has_Prev_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Next’:
autogen/include/Clownfish/String.h:1212:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1212 |     const CFISH_StrIter_Next_t method = (CFISH_StrIter_Next_t)cfish_obj_method(self, CFISH_StrIter_Next_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Prev’:
autogen/include/Clownfish/String.h:1223:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1223 |     const CFISH_StrIter_Prev_t method = (CFISH_StrIter_Prev_t)cfish_obj_method(self, CFISH_StrIter_Prev_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Advance’:
autogen/include/Clownfish/String.h:1234:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1234 |     const CFISH_StrIter_Advance_t method = (CFISH_StrIter_Advance_t)cfish_obj_method(self, CFISH_StrIter_Advance_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Recede’:
autogen/include/Clownfish/String.h:1245:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1245 |     const CFISH_StrIter_Recede_t method = (CFISH_StrIter_Recede_t)cfish_obj_method(self, CFISH_StrIter_Recede_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace’:
autogen/include/Clownfish/String.h:1256:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1256 |     const CFISH_StrIter_Skip_Whitespace_t method = (CFISH_StrIter_Skip_Whitespace_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_OFFSET);
      |                                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace_Back’:
autogen/include/Clownfish/String.h:1267:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1267 |     const CFISH_StrIter_Skip_Whitespace_Back_t method = (CFISH_StrIter_Skip_Whitespace_Back_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_Back_OFFSET);
      |                                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With’:
autogen/include/Clownfish/String.h:1278:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1278 |     const CFISH_StrIter_Starts_With_t method = (CFISH_StrIter_Starts_With_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:1289:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1289 |     const CFISH_StrIter_Starts_With_Utf8_t method = (CFISH_StrIter_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_Utf8_OFFSET);
      |                                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With’:
autogen/include/Clownfish/String.h:1300:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1300 |     const CFISH_StrIter_Ends_With_t method = (CFISH_StrIter_Ends_With_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:1311:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1311 |     const CFISH_StrIter_Ends_With_Utf8_t method = (CFISH_StrIter_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_Utf8_OFFSET);
      |                                                   ^
In file included from cftest/Clownfish/Test/TestClass.c:34:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
In file included from cftest/Clownfish/Test/TestClass.c:36:
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_To_Host’:
autogen/include/Clownfish/Vector.h:245:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Vector *, void *)’ [-Wcast-function-type]
  245 |     const CFISH_Vec_To_Host_t method = (CFISH_Vec_To_Host_t)cfish_obj_method(self, CFISH_Vec_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Clone’:
autogen/include/Clownfish/Vector.h:256:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Vector *)’ [-Wcast-function-type]
  256 |     const CFISH_Vec_Clone_t method = (CFISH_Vec_Clone_t)cfish_obj_method(self, CFISH_Vec_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Equals’:
autogen/include/Clownfish/Vector.h:267:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Vector *, cfish_Obj *)’ [-Wcast-function-type]
  267 |     const CFISH_Vec_Equals_t method = (CFISH_Vec_Equals_t)cfish_obj_method(self, CFISH_Vec_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Compare_To’:
autogen/include/Clownfish/Vector.h:278:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Vector *, cfish_Obj *)’ {aka ‘int (*)(cfish_Vector *, cfish_Obj *)’} [-Wcast-function-type]
  278 |     const CFISH_Vec_Compare_To_t method = (CFISH_Vec_Compare_To_t)cfish_obj_method(self, CFISH_Vec_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_To_String’:
autogen/include/Clownfish/Vector.h:300:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Vector *)’ [-Wcast-function-type]
  300 |     const CFISH_Vec_To_String_t method = (CFISH_Vec_To_String_t)cfish_obj_method(self, CFISH_Vec_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Push’:
autogen/include/Clownfish/Vector.h:311:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, cfish_Obj *)’ [-Wcast-function-type]
  311 |     const CFISH_Vec_Push_t method = (CFISH_Vec_Push_t)cfish_obj_method(self, CFISH_Vec_Push_OFFSET);
      |                                     ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Push_All’:
autogen/include/Clownfish/Vector.h:322:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, cfish_Vector *)’ [-Wcast-function-type]
  322 |     const CFISH_Vec_Push_All_t method = (CFISH_Vec_Push_All_t)cfish_obj_method(self, CFISH_Vec_Push_All_OFFSET);
      |                                         ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Pop’:
autogen/include/Clownfish/Vector.h:333:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Vector *)’ [-Wcast-function-type]
  333 |     const CFISH_Vec_Pop_t method = (CFISH_Vec_Pop_t)cfish_obj_method(self, CFISH_Vec_Pop_OFFSET);
      |                                    ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Insert’:
autogen/include/Clownfish/Vector.h:344:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  cfish_Obj *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Obj *)’} [-Wcast-function-type]
  344 |     const CFISH_Vec_Insert_t method = (CFISH_Vec_Insert_t)cfish_obj_method(self, CFISH_Vec_Insert_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Insert_All’:
autogen/include/Clownfish/Vector.h:355:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  cfish_Vector *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Vector *)’} [-Wcast-function-type]
  355 |     const CFISH_Vec_Insert_All_t method = (CFISH_Vec_Insert_All_t)cfish_obj_method(self, CFISH_Vec_Insert_All_OFFSET);
      |                                           ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Grow’:
autogen/include/Clownfish/Vector.h:366:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  366 |     const CFISH_Vec_Grow_t method = (CFISH_Vec_Grow_t)cfish_obj_method(self, CFISH_Vec_Grow_OFFSET);
      |                                     ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Fetch’:
autogen/include/Clownfish/Vector.h:377:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Vector *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  377 |     const CFISH_Vec_Fetch_t method = (CFISH_Vec_Fetch_t)cfish_obj_method(self, CFISH_Vec_Fetch_OFFSET);
      |                                      ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Store’:
autogen/include/Clownfish/Vector.h:388:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  cfish_Obj *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Obj *)’} [-Wcast-function-type]
  388 |     const CFISH_Vec_Store_t method = (CFISH_Vec_Store_t)cfish_obj_method(self, CFISH_Vec_Store_OFFSET);
      |                                      ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Delete’:
autogen/include/Clownfish/Vector.h:399:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Vector *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  399 |     const CFISH_Vec_Delete_t method = (CFISH_Vec_Delete_t)cfish_obj_method(self, CFISH_Vec_Delete_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Excise’:
autogen/include/Clownfish/Vector.h:410:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  410 |     const CFISH_Vec_Excise_t method = (CFISH_Vec_Excise_t)cfish_obj_method(self, CFISH_Vec_Excise_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Resize’:
autogen/include/Clownfish/Vector.h:432:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  432 |     const CFISH_Vec_Resize_t method = (CFISH_Vec_Resize_t)cfish_obj_method(self, CFISH_Vec_Resize_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Get_Size’:
autogen/include/Clownfish/Vector.h:454:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Vector *)’ {aka ‘long unsigned int (*)(cfish_Vector *)’} [-Wcast-function-type]
  454 |     const CFISH_Vec_Get_Size_t method = (CFISH_Vec_Get_Size_t)cfish_obj_method(self, CFISH_Vec_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Get_Capacity’:
autogen/include/Clownfish/Vector.h:465:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Vector *)’ {aka ‘long unsigned int (*)(cfish_Vector *)’} [-Wcast-function-type]
  465 |     const CFISH_Vec_Get_Capacity_t method = (CFISH_Vec_Get_Capacity_t)cfish_obj_method(self, CFISH_Vec_Get_Capacity_OFFSET);
      |                                             ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Slice’:
autogen/include/Clownfish/Vector.h:476:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Vector *, size_t,  size_t)’ {aka ‘cfish_Vector * (*)(cfish_Vector *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  476 |     const CFISH_Vec_Slice_t method = (CFISH_Vec_Slice_t)cfish_obj_method(self, CFISH_Vec_Slice_OFFSET);
      |                                      ^
cftest/Clownfish/Test/TestClass.c: In function ‘test_simple_subclass’:
cftest/Clownfish/Test/TestClass.c:115:30: warning: cast between incompatible function types from ‘cfish_String * (*)(cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  115 |     Class_Override(subclass, (cfish_method_t)MyObj_To_String_IMP,
      |                              ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/TestErr.c -c -o cftest/Clownfish/Test/TestErr.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/TestErr.h:40,
                 from cftest/Clownfish/Test/TestErr.c:20:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_To_Host’:
autogen/include/Clownfish/Test/TestErr.h:130:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestErr *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestErr_To_Host_t method = (TESTCFISH_TestErr_To_Host_t)cfish_obj_method(self, TESTCFISH_TestErr_To_Host_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_Clone’:
autogen/include/Clownfish/Test/TestErr.h:137:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestErr *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestErr_Clone_t method = (TESTCFISH_TestErr_Clone_t)cfish_obj_method(self, TESTCFISH_TestErr_Clone_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_Equals’:
autogen/include/Clownfish/Test/TestErr.h:144:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestErr *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestErr_Equals_t method = (TESTCFISH_TestErr_Equals_t)cfish_obj_method(self, TESTCFISH_TestErr_Equals_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_Compare_To’:
autogen/include/Clownfish/Test/TestErr.h:151:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestErr *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestErr *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestErr_Compare_To_t method = (TESTCFISH_TestErr_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestErr_Compare_To_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_To_String’:
autogen/include/Clownfish/Test/TestErr.h:165:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestErr *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestErr_To_String_t method = (TESTCFISH_TestErr_To_String_t)cfish_obj_method(self, TESTCFISH_TestErr_To_String_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_Run’:
autogen/include/Clownfish/Test/TestErr.h:172:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestErr *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestErr_Run_t method = (TESTCFISH_TestErr_Run_t)cfish_obj_method(self, TESTCFISH_TestErr_Run_OFFSET);
      |                                            ^
In file included from autogen/include/Clownfish/String.h:41,
                 from cftest/Clownfish/Test/TestErr.c:22:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
In file included from autogen/include/Clownfish/String.h:44:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Host’:
autogen/include/Clownfish/String.h:387:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_String *, void *)’ [-Wcast-function-type]
  387 |     const CFISH_Str_To_Host_t method = (CFISH_Str_To_Host_t)cfish_obj_method(self, CFISH_Str_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Clone’:
autogen/include/Clownfish/String.h:398:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  398 |     const CFISH_Str_Clone_t method = (CFISH_Str_Clone_t)cfish_obj_method(self, CFISH_Str_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals’:
autogen/include/Clownfish/String.h:409:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  409 |     const CFISH_Str_Equals_t method = (CFISH_Str_Equals_t)cfish_obj_method(self, CFISH_Str_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Compare_To’:
autogen/include/Clownfish/String.h:420:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, cfish_Obj *)’ {aka ‘int (*)(cfish_String *, cfish_Obj *)’} [-Wcast-function-type]
  420 |     const CFISH_Str_Compare_To_t method = (CFISH_Str_Compare_To_t)cfish_obj_method(self, CFISH_Str_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_String’:
autogen/include/Clownfish/String.h:442:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  442 |     const CFISH_Str_To_String_t method = (CFISH_Str_To_String_t)cfish_obj_method(self, CFISH_Str_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat’:
autogen/include/Clownfish/String.h:453:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  453 |     const CFISH_Str_Cat_t method = (CFISH_Str_Cat_t)cfish_obj_method(self, CFISH_Str_Cat_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Utf8’:
autogen/include/Clownfish/String.h:464:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  464 |     const CFISH_Str_Cat_Utf8_t method = (CFISH_Str_Cat_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Utf8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Trusted_Utf8’:
autogen/include/Clownfish/String.h:475:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  475 |     const CFISH_Str_Cat_Trusted_Utf8_t method = (CFISH_Str_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Trusted_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_I64’:
autogen/include/Clownfish/String.h:486:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *)’ {aka ‘long int (*)(cfish_String *)’} [-Wcast-function-type]
  486 |     const CFISH_Str_To_I64_t method = (CFISH_Str_To_I64_t)cfish_obj_method(self, CFISH_Str_To_I64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_BaseX_To_I64’:
autogen/include/Clownfish/String.h:497:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *, uint32_t)’ {aka ‘long int (*)(cfish_String *, unsigned int)’} [-Wcast-function-type]
  497 |     const CFISH_Str_BaseX_To_I64_t method = (CFISH_Str_BaseX_To_I64_t)cfish_obj_method(self, CFISH_Str_BaseX_To_I64_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_F64’:
autogen/include/Clownfish/String.h:508:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_String *)’ [-Wcast-function-type]
  508 |     const CFISH_Str_To_F64_t method = (CFISH_Str_To_F64_t)cfish_obj_method(self, CFISH_Str_To_F64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With’:
autogen/include/Clownfish/String.h:519:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  519 |     const CFISH_Str_Starts_With_t method = (CFISH_Str_Starts_With_t)cfish_obj_method(self, CFISH_Str_Starts_With_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:530:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  530 |     const CFISH_Str_Starts_With_Utf8_t method = (CFISH_Str_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Starts_With_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With’:
autogen/include/Clownfish/String.h:541:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  541 |     const CFISH_Str_Ends_With_t method = (CFISH_Str_Ends_With_t)cfish_obj_method(self, CFISH_Str_Ends_With_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:552:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  552 |     const CFISH_Str_Ends_With_Utf8_t method = (CFISH_Str_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Ends_With_Utf8_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains’:
autogen/include/Clownfish/String.h:563:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  563 |     const CFISH_Str_Contains_t method = (CFISH_Str_Contains_t)cfish_obj_method(self, CFISH_Str_Contains_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains_Utf8’:
autogen/include/Clownfish/String.h:574:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  574 |     const CFISH_Str_Contains_Utf8_t method = (CFISH_Str_Contains_Utf8_t)cfish_obj_method(self, CFISH_Str_Contains_Utf8_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find’:
autogen/include/Clownfish/String.h:585:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  585 |     const CFISH_Str_Find_t method = (CFISH_Str_Find_t)cfish_obj_method(self, CFISH_Str_Find_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find_Utf8’:
autogen/include/Clownfish/String.h:596:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_StringIterator * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  596 |     const CFISH_Str_Find_Utf8_t method = (CFISH_Str_Find_Utf8_t)cfish_obj_method(self, CFISH_Str_Find_Utf8_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals_Utf8’:
autogen/include/Clownfish/String.h:607:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  607 |     const CFISH_Str_Equals_Utf8_t method = (CFISH_Str_Equals_Utf8_t)cfish_obj_method(self, CFISH_Str_Equals_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Length’:
autogen/include/Clownfish/String.h:618:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  618 |     const CFISH_Str_Length_t method = (CFISH_Str_Length_t)cfish_obj_method(self, CFISH_Str_Length_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Size’:
autogen/include/Clownfish/String.h:629:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  629 |     const CFISH_Str_Get_Size_t method = (CFISH_Str_Get_Size_t)cfish_obj_method(self, CFISH_Str_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Ptr8’:
autogen/include/Clownfish/String.h:640:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_String *)’ [-Wcast-function-type]
  640 |     const CFISH_Str_Get_Ptr8_t method = (CFISH_Str_Get_Ptr8_t)cfish_obj_method(self, CFISH_Str_Get_Ptr8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Utf8’:
autogen/include/Clownfish/String.h:651:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_String *)’ [-Wcast-function-type]
  651 |     const CFISH_Str_To_Utf8_t method = (CFISH_Str_To_Utf8_t)cfish_obj_method(self, CFISH_Str_To_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_ByteBuf’:
autogen/include/Clownfish/String.h:662:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_String *)’ [-Wcast-function-type]
  662 |     const CFISH_Str_To_ByteBuf_t method = (CFISH_Str_To_ByteBuf_t)cfish_obj_method(self, CFISH_Str_To_ByteBuf_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Is_Copy_On_IncRef’:
autogen/include/Clownfish/String.h:673:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *)’ [-Wcast-function-type]
  673 |     const CFISH_Str_Is_Copy_On_IncRef_t method = (CFISH_Str_Is_Copy_On_IncRef_t)cfish_obj_method(self, CFISH_Str_Is_Copy_On_IncRef_OFFSET);
      |                                                  ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Hash_Sum’:
autogen/include/Clownfish/String.h:684:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  684 |     const CFISH_Str_Hash_Sum_t method = (CFISH_Str_Hash_Sum_t)cfish_obj_method(self, CFISH_Str_Hash_Sum_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim’:
autogen/include/Clownfish/String.h:695:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  695 |     const CFISH_Str_Trim_t method = (CFISH_Str_Trim_t)cfish_obj_method(self, CFISH_Str_Trim_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Top’:
autogen/include/Clownfish/String.h:706:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  706 |     const CFISH_Str_Trim_Top_t method = (CFISH_Str_Trim_Top_t)cfish_obj_method(self, CFISH_Str_Trim_Top_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Tail’:
autogen/include/Clownfish/String.h:717:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  717 |     const CFISH_Str_Trim_Tail_t method = (CFISH_Str_Trim_Tail_t)cfish_obj_method(self, CFISH_Str_Trim_Tail_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_At’:
autogen/include/Clownfish/String.h:728:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  728 |     const CFISH_Str_Code_Point_At_t method = (CFISH_Str_Code_Point_At_t)cfish_obj_method(self, CFISH_Str_Code_Point_At_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_From’:
autogen/include/Clownfish/String.h:739:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  739 |     const CFISH_Str_Code_Point_From_t method = (CFISH_Str_Code_Point_From_t)cfish_obj_method(self, CFISH_Str_Code_Point_From_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_SubString’:
autogen/include/Clownfish/String.h:750:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, size_t,  size_t)’ {aka ‘cfish_String * (*)(cfish_String *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  750 |     const CFISH_Str_SubString_t method = (CFISH_Str_SubString_t)cfish_obj_method(self, CFISH_Str_SubString_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Top’:
autogen/include/Clownfish/String.h:761:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  761 |     const CFISH_Str_Top_t method = (CFISH_Str_Top_t)cfish_obj_method(self, CFISH_Str_Top_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Tail’:
autogen/include/Clownfish/String.h:772:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  772 |     const CFISH_Str_Tail_t method = (CFISH_Str_Tail_t)cfish_obj_method(self, CFISH_Str_Tail_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_Host’:
autogen/include/Clownfish/String.h:1113:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_StringIterator *, void *)’ [-Wcast-function-type]
 1113 |     const CFISH_StrIter_To_Host_t method = (CFISH_StrIter_To_Host_t)cfish_obj_method(self, CFISH_StrIter_To_Host_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Clone’:
autogen/include/Clownfish/String.h:1124:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1124 |     const CFISH_StrIter_Clone_t method = (CFISH_StrIter_Clone_t)cfish_obj_method(self, CFISH_StrIter_Clone_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Equals’:
autogen/include/Clownfish/String.h:1135:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_Obj *)’ [-Wcast-function-type]
 1135 |     const CFISH_StrIter_Equals_t method = (CFISH_StrIter_Equals_t)cfish_obj_method(self, CFISH_StrIter_Equals_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Compare_To’:
autogen/include/Clownfish/String.h:1146:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_StringIterator *, cfish_Obj *)’} [-Wcast-function-type]
 1146 |     const CFISH_StrIter_Compare_To_t method = (CFISH_StrIter_Compare_To_t)cfish_obj_method(self, CFISH_StrIter_Compare_To_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_String’:
autogen/include/Clownfish/String.h:1168:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1168 |     const CFISH_StrIter_To_String_t method = (CFISH_StrIter_To_String_t)cfish_obj_method(self, CFISH_StrIter_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Assign’:
autogen/include/Clownfish/String.h:1179:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_StringIterator *, cfish_StringIterator *)’ [-Wcast-function-type]
 1179 |     const CFISH_StrIter_Assign_t method = (CFISH_StrIter_Assign_t)cfish_obj_method(self, CFISH_StrIter_Assign_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Next’:
autogen/include/Clownfish/String.h:1190:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1190 |     const CFISH_StrIter_Has_Next_t method = (CFISH_StrIter_Has_Next_t)cfish_obj_method(self, CFISH_StrIter_Has_Next_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Prev’:
autogen/include/Clownfish/String.h:1201:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1201 |     const CFISH_StrIter_Has_Prev_t method = (CFISH_StrIter_Has_Prev_t)cfish_obj_method(self, CFISH_StrIter_Has_Prev_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Next’:
autogen/include/Clownfish/String.h:1212:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1212 |     const CFISH_StrIter_Next_t method = (CFISH_StrIter_Next_t)cfish_obj_method(self, CFISH_StrIter_Next_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Prev’:
autogen/include/Clownfish/String.h:1223:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1223 |     const CFISH_StrIter_Prev_t method = (CFISH_StrIter_Prev_t)cfish_obj_method(self, CFISH_StrIter_Prev_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Advance’:
autogen/include/Clownfish/String.h:1234:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1234 |     const CFISH_StrIter_Advance_t method = (CFISH_StrIter_Advance_t)cfish_obj_method(self, CFISH_StrIter_Advance_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Recede’:
autogen/include/Clownfish/String.h:1245:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1245 |     const CFISH_StrIter_Recede_t method = (CFISH_StrIter_Recede_t)cfish_obj_method(self, CFISH_StrIter_Recede_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace’:
autogen/include/Clownfish/String.h:1256:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1256 |     const CFISH_StrIter_Skip_Whitespace_t method = (CFISH_StrIter_Skip_Whitespace_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_OFFSET);
      |                                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace_Back’:
autogen/include/Clownfish/String.h:1267:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1267 |     const CFISH_StrIter_Skip_Whitespace_Back_t method = (CFISH_StrIter_Skip_Whitespace_Back_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_Back_OFFSET);
      |                                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With’:
autogen/include/Clownfish/String.h:1278:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1278 |     const CFISH_StrIter_Starts_With_t method = (CFISH_StrIter_Starts_With_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:1289:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1289 |     const CFISH_StrIter_Starts_With_Utf8_t method = (CFISH_StrIter_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_Utf8_OFFSET);
      |                                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With’:
autogen/include/Clownfish/String.h:1300:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1300 |     const CFISH_StrIter_Ends_With_t method = (CFISH_StrIter_Ends_With_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:1311:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1311 |     const CFISH_StrIter_Ends_With_Utf8_t method = (CFISH_StrIter_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_Utf8_OFFSET);
      |                                                   ^
In file included from cftest/Clownfish/Test/TestErr.c:25:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/TestHash.c -c -o cftest/Clownfish/Test/TestHash.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/TestHash.h:40,
                 from cftest/Clownfish/Test/TestHash.c:24:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_To_Host’:
autogen/include/Clownfish/Test/TestHash.h:130:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestHash *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestHash_To_Host_t method = (TESTCFISH_TestHash_To_Host_t)cfish_obj_method(self, TESTCFISH_TestHash_To_Host_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_Clone’:
autogen/include/Clownfish/Test/TestHash.h:137:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHash *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestHash_Clone_t method = (TESTCFISH_TestHash_Clone_t)cfish_obj_method(self, TESTCFISH_TestHash_Clone_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_Equals’:
autogen/include/Clownfish/Test/TestHash.h:144:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHash *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestHash_Equals_t method = (TESTCFISH_TestHash_Equals_t)cfish_obj_method(self, TESTCFISH_TestHash_Equals_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_Compare_To’:
autogen/include/Clownfish/Test/TestHash.h:151:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHash *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestHash *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestHash_Compare_To_t method = (TESTCFISH_TestHash_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestHash_Compare_To_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_To_String’:
autogen/include/Clownfish/Test/TestHash.h:165:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHash *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestHash_To_String_t method = (TESTCFISH_TestHash_To_String_t)cfish_obj_method(self, TESTCFISH_TestHash_To_String_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_Run’:
autogen/include/Clownfish/Test/TestHash.h:172:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestHash *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestHash_Run_t method = (TESTCFISH_TestHash_Run_t)cfish_obj_method(self, TESTCFISH_TestHash_Run_OFFSET);
      |                                             ^
In file included from autogen/include/Clownfish/String.h:41,
                 from cftest/Clownfish/Test/TestHash.c:26:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
In file included from autogen/include/Clownfish/String.h:44:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Host’:
autogen/include/Clownfish/String.h:387:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_String *, void *)’ [-Wcast-function-type]
  387 |     const CFISH_Str_To_Host_t method = (CFISH_Str_To_Host_t)cfish_obj_method(self, CFISH_Str_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Clone’:
autogen/include/Clownfish/String.h:398:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  398 |     const CFISH_Str_Clone_t method = (CFISH_Str_Clone_t)cfish_obj_method(self, CFISH_Str_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals’:
autogen/include/Clownfish/String.h:409:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  409 |     const CFISH_Str_Equals_t method = (CFISH_Str_Equals_t)cfish_obj_method(self, CFISH_Str_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Compare_To’:
autogen/include/Clownfish/String.h:420:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, cfish_Obj *)’ {aka ‘int (*)(cfish_String *, cfish_Obj *)’} [-Wcast-function-type]
  420 |     const CFISH_Str_Compare_To_t method = (CFISH_Str_Compare_To_t)cfish_obj_method(self, CFISH_Str_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_String’:
autogen/include/Clownfish/String.h:442:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  442 |     const CFISH_Str_To_String_t method = (CFISH_Str_To_String_t)cfish_obj_method(self, CFISH_Str_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat’:
autogen/include/Clownfish/String.h:453:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  453 |     const CFISH_Str_Cat_t method = (CFISH_Str_Cat_t)cfish_obj_method(self, CFISH_Str_Cat_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Utf8’:
autogen/include/Clownfish/String.h:464:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  464 |     const CFISH_Str_Cat_Utf8_t method = (CFISH_Str_Cat_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Utf8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Trusted_Utf8’:
autogen/include/Clownfish/String.h:475:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  475 |     const CFISH_Str_Cat_Trusted_Utf8_t method = (CFISH_Str_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Trusted_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_I64’:
autogen/include/Clownfish/String.h:486:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *)’ {aka ‘long int (*)(cfish_String *)’} [-Wcast-function-type]
  486 |     const CFISH_Str_To_I64_t method = (CFISH_Str_To_I64_t)cfish_obj_method(self, CFISH_Str_To_I64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_BaseX_To_I64’:
autogen/include/Clownfish/String.h:497:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *, uint32_t)’ {aka ‘long int (*)(cfish_String *, unsigned int)’} [-Wcast-function-type]
  497 |     const CFISH_Str_BaseX_To_I64_t method = (CFISH_Str_BaseX_To_I64_t)cfish_obj_method(self, CFISH_Str_BaseX_To_I64_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_F64’:
autogen/include/Clownfish/String.h:508:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_String *)’ [-Wcast-function-type]
  508 |     const CFISH_Str_To_F64_t method = (CFISH_Str_To_F64_t)cfish_obj_method(self, CFISH_Str_To_F64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With’:
autogen/include/Clownfish/String.h:519:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  519 |     const CFISH_Str_Starts_With_t method = (CFISH_Str_Starts_With_t)cfish_obj_method(self, CFISH_Str_Starts_With_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:530:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  530 |     const CFISH_Str_Starts_With_Utf8_t method = (CFISH_Str_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Starts_With_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With’:
autogen/include/Clownfish/String.h:541:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  541 |     const CFISH_Str_Ends_With_t method = (CFISH_Str_Ends_With_t)cfish_obj_method(self, CFISH_Str_Ends_With_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:552:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  552 |     const CFISH_Str_Ends_With_Utf8_t method = (CFISH_Str_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Ends_With_Utf8_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains’:
autogen/include/Clownfish/String.h:563:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  563 |     const CFISH_Str_Contains_t method = (CFISH_Str_Contains_t)cfish_obj_method(self, CFISH_Str_Contains_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains_Utf8’:
autogen/include/Clownfish/String.h:574:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  574 |     const CFISH_Str_Contains_Utf8_t method = (CFISH_Str_Contains_Utf8_t)cfish_obj_method(self, CFISH_Str_Contains_Utf8_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find’:
autogen/include/Clownfish/String.h:585:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  585 |     const CFISH_Str_Find_t method = (CFISH_Str_Find_t)cfish_obj_method(self, CFISH_Str_Find_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find_Utf8’:
autogen/include/Clownfish/String.h:596:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_StringIterator * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  596 |     const CFISH_Str_Find_Utf8_t method = (CFISH_Str_Find_Utf8_t)cfish_obj_method(self, CFISH_Str_Find_Utf8_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals_Utf8’:
autogen/include/Clownfish/String.h:607:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  607 |     const CFISH_Str_Equals_Utf8_t method = (CFISH_Str_Equals_Utf8_t)cfish_obj_method(self, CFISH_Str_Equals_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Length’:
autogen/include/Clownfish/String.h:618:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  618 |     const CFISH_Str_Length_t method = (CFISH_Str_Length_t)cfish_obj_method(self, CFISH_Str_Length_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Size’:
autogen/include/Clownfish/String.h:629:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  629 |     const CFISH_Str_Get_Size_t method = (CFISH_Str_Get_Size_t)cfish_obj_method(self, CFISH_Str_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Ptr8’:
autogen/include/Clownfish/String.h:640:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_String *)’ [-Wcast-function-type]
  640 |     const CFISH_Str_Get_Ptr8_t method = (CFISH_Str_Get_Ptr8_t)cfish_obj_method(self, CFISH_Str_Get_Ptr8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Utf8’:
autogen/include/Clownfish/String.h:651:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_String *)’ [-Wcast-function-type]
  651 |     const CFISH_Str_To_Utf8_t method = (CFISH_Str_To_Utf8_t)cfish_obj_method(self, CFISH_Str_To_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_ByteBuf’:
autogen/include/Clownfish/String.h:662:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_String *)’ [-Wcast-function-type]
  662 |     const CFISH_Str_To_ByteBuf_t method = (CFISH_Str_To_ByteBuf_t)cfish_obj_method(self, CFISH_Str_To_ByteBuf_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Is_Copy_On_IncRef’:
autogen/include/Clownfish/String.h:673:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *)’ [-Wcast-function-type]
  673 |     const CFISH_Str_Is_Copy_On_IncRef_t method = (CFISH_Str_Is_Copy_On_IncRef_t)cfish_obj_method(self, CFISH_Str_Is_Copy_On_IncRef_OFFSET);
      |                                                  ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Hash_Sum’:
autogen/include/Clownfish/String.h:684:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  684 |     const CFISH_Str_Hash_Sum_t method = (CFISH_Str_Hash_Sum_t)cfish_obj_method(self, CFISH_Str_Hash_Sum_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim’:
autogen/include/Clownfish/String.h:695:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  695 |     const CFISH_Str_Trim_t method = (CFISH_Str_Trim_t)cfish_obj_method(self, CFISH_Str_Trim_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Top’:
autogen/include/Clownfish/String.h:706:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  706 |     const CFISH_Str_Trim_Top_t method = (CFISH_Str_Trim_Top_t)cfish_obj_method(self, CFISH_Str_Trim_Top_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Tail’:
autogen/include/Clownfish/String.h:717:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  717 |     const CFISH_Str_Trim_Tail_t method = (CFISH_Str_Trim_Tail_t)cfish_obj_method(self, CFISH_Str_Trim_Tail_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_At’:
autogen/include/Clownfish/String.h:728:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  728 |     const CFISH_Str_Code_Point_At_t method = (CFISH_Str_Code_Point_At_t)cfish_obj_method(self, CFISH_Str_Code_Point_At_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_From’:
autogen/include/Clownfish/String.h:739:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  739 |     const CFISH_Str_Code_Point_From_t method = (CFISH_Str_Code_Point_From_t)cfish_obj_method(self, CFISH_Str_Code_Point_From_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_SubString’:
autogen/include/Clownfish/String.h:750:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, size_t,  size_t)’ {aka ‘cfish_String * (*)(cfish_String *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  750 |     const CFISH_Str_SubString_t method = (CFISH_Str_SubString_t)cfish_obj_method(self, CFISH_Str_SubString_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Top’:
autogen/include/Clownfish/String.h:761:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  761 |     const CFISH_Str_Top_t method = (CFISH_Str_Top_t)cfish_obj_method(self, CFISH_Str_Top_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Tail’:
autogen/include/Clownfish/String.h:772:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  772 |     const CFISH_Str_Tail_t method = (CFISH_Str_Tail_t)cfish_obj_method(self, CFISH_Str_Tail_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_Host’:
autogen/include/Clownfish/String.h:1113:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_StringIterator *, void *)’ [-Wcast-function-type]
 1113 |     const CFISH_StrIter_To_Host_t method = (CFISH_StrIter_To_Host_t)cfish_obj_method(self, CFISH_StrIter_To_Host_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Clone’:
autogen/include/Clownfish/String.h:1124:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1124 |     const CFISH_StrIter_Clone_t method = (CFISH_StrIter_Clone_t)cfish_obj_method(self, CFISH_StrIter_Clone_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Equals’:
autogen/include/Clownfish/String.h:1135:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_Obj *)’ [-Wcast-function-type]
 1135 |     const CFISH_StrIter_Equals_t method = (CFISH_StrIter_Equals_t)cfish_obj_method(self, CFISH_StrIter_Equals_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Compare_To’:
autogen/include/Clownfish/String.h:1146:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_StringIterator *, cfish_Obj *)’} [-Wcast-function-type]
 1146 |     const CFISH_StrIter_Compare_To_t method = (CFISH_StrIter_Compare_To_t)cfish_obj_method(self, CFISH_StrIter_Compare_To_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_String’:
autogen/include/Clownfish/String.h:1168:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1168 |     const CFISH_StrIter_To_String_t method = (CFISH_StrIter_To_String_t)cfish_obj_method(self, CFISH_StrIter_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Assign’:
autogen/include/Clownfish/String.h:1179:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_StringIterator *, cfish_StringIterator *)’ [-Wcast-function-type]
 1179 |     const CFISH_StrIter_Assign_t method = (CFISH_StrIter_Assign_t)cfish_obj_method(self, CFISH_StrIter_Assign_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Next’:
autogen/include/Clownfish/String.h:1190:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1190 |     const CFISH_StrIter_Has_Next_t method = (CFISH_StrIter_Has_Next_t)cfish_obj_method(self, CFISH_StrIter_Has_Next_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Prev’:
autogen/include/Clownfish/String.h:1201:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1201 |     const CFISH_StrIter_Has_Prev_t method = (CFISH_StrIter_Has_Prev_t)cfish_obj_method(self, CFISH_StrIter_Has_Prev_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Next’:
autogen/include/Clownfish/String.h:1212:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1212 |     const CFISH_StrIter_Next_t method = (CFISH_StrIter_Next_t)cfish_obj_method(self, CFISH_StrIter_Next_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Prev’:
autogen/include/Clownfish/String.h:1223:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1223 |     const CFISH_StrIter_Prev_t method = (CFISH_StrIter_Prev_t)cfish_obj_method(self, CFISH_StrIter_Prev_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Advance’:
autogen/include/Clownfish/String.h:1234:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1234 |     const CFISH_StrIter_Advance_t method = (CFISH_StrIter_Advance_t)cfish_obj_method(self, CFISH_StrIter_Advance_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Recede’:
autogen/include/Clownfish/String.h:1245:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1245 |     const CFISH_StrIter_Recede_t method = (CFISH_StrIter_Recede_t)cfish_obj_method(self, CFISH_StrIter_Recede_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace’:
autogen/include/Clownfish/String.h:1256:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1256 |     const CFISH_StrIter_Skip_Whitespace_t method = (CFISH_StrIter_Skip_Whitespace_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_OFFSET);
      |                                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace_Back’:
autogen/include/Clownfish/String.h:1267:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1267 |     const CFISH_StrIter_Skip_Whitespace_Back_t method = (CFISH_StrIter_Skip_Whitespace_Back_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_Back_OFFSET);
      |                                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With’:
autogen/include/Clownfish/String.h:1278:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1278 |     const CFISH_StrIter_Starts_With_t method = (CFISH_StrIter_Starts_With_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:1289:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1289 |     const CFISH_StrIter_Starts_With_Utf8_t method = (CFISH_StrIter_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_Utf8_OFFSET);
      |                                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With’:
autogen/include/Clownfish/String.h:1300:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1300 |     const CFISH_StrIter_Ends_With_t method = (CFISH_StrIter_Ends_With_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:1311:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1311 |     const CFISH_StrIter_Ends_With_Utf8_t method = (CFISH_StrIter_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_Utf8_OFFSET);
      |                                                   ^
In file included from cftest/Clownfish/Test/TestHash.c:27:
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_To_Host’:
autogen/include/Clownfish/Boolean.h:159:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Boolean *, void *)’ [-Wcast-function-type]
  159 |     const CFISH_Bool_To_Host_t method = (CFISH_Bool_To_Host_t)cfish_obj_method(self, CFISH_Bool_To_Host_OFFSET);
      |                                         ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Clone’:
autogen/include/Clownfish/Boolean.h:170:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Boolean * (*)(cfish_Boolean *)’ [-Wcast-function-type]
  170 |     const CFISH_Bool_Clone_t method = (CFISH_Bool_Clone_t)cfish_obj_method(self, CFISH_Bool_Clone_OFFSET);
      |                                       ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Equals’:
autogen/include/Clownfish/Boolean.h:181:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Boolean *, cfish_Obj *)’ [-Wcast-function-type]
  181 |     const CFISH_Bool_Equals_t method = (CFISH_Bool_Equals_t)cfish_obj_method(self, CFISH_Bool_Equals_OFFSET);
      |                                        ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Compare_To’:
autogen/include/Clownfish/Boolean.h:192:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Boolean *, cfish_Obj *)’ {aka ‘int (*)(cfish_Boolean *, cfish_Obj *)’} [-Wcast-function-type]
  192 |     const CFISH_Bool_Compare_To_t method = (CFISH_Bool_Compare_To_t)cfish_obj_method(self, CFISH_Bool_Compare_To_OFFSET);
      |                                            ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_To_String’:
autogen/include/Clownfish/Boolean.h:214:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Boolean *)’ [-Wcast-function-type]
  214 |     const CFISH_Bool_To_String_t method = (CFISH_Bool_To_String_t)cfish_obj_method(self, CFISH_Bool_To_String_OFFSET);
      |                                           ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Get_Value’:
autogen/include/Clownfish/Boolean.h:225:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Boolean *)’ [-Wcast-function-type]
  225 |     const CFISH_Bool_Get_Value_t method = (CFISH_Bool_Get_Value_t)cfish_obj_method(self, CFISH_Bool_Get_Value_OFFSET);
      |                                           ^
In file included from cftest/Clownfish/Test/TestHash.c:28:
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_To_Host’:
autogen/include/Clownfish/Hash.h:225:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Hash *, void *)’ [-Wcast-function-type]
  225 |     const CFISH_Hash_To_Host_t method = (CFISH_Hash_To_Host_t)cfish_obj_method(self, CFISH_Hash_To_Host_OFFSET);
      |                                         ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Clone’:
autogen/include/Clownfish/Hash.h:236:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Hash *)’ [-Wcast-function-type]
  236 |     const CFISH_Hash_Clone_t method = (CFISH_Hash_Clone_t)cfish_obj_method(self, CFISH_Hash_Clone_OFFSET);
      |                                       ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Equals’:
autogen/include/Clownfish/Hash.h:247:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Hash *, cfish_Obj *)’ [-Wcast-function-type]
  247 |     const CFISH_Hash_Equals_t method = (CFISH_Hash_Equals_t)cfish_obj_method(self, CFISH_Hash_Equals_OFFSET);
      |                                        ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Compare_To’:
autogen/include/Clownfish/Hash.h:258:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Hash *, cfish_Obj *)’ {aka ‘int (*)(cfish_Hash *, cfish_Obj *)’} [-Wcast-function-type]
  258 |     const CFISH_Hash_Compare_To_t method = (CFISH_Hash_Compare_To_t)cfish_obj_method(self, CFISH_Hash_Compare_To_OFFSET);
      |                                            ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_To_String’:
autogen/include/Clownfish/Hash.h:280:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Hash *)’ [-Wcast-function-type]
  280 |     const CFISH_Hash_To_String_t method = (CFISH_Hash_To_String_t)cfish_obj_method(self, CFISH_Hash_To_String_OFFSET);
      |                                           ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Store’:
autogen/include/Clownfish/Hash.h:302:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Hash *, cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  302 |     const CFISH_Hash_Store_t method = (CFISH_Hash_Store_t)cfish_obj_method(self, CFISH_Hash_Store_OFFSET);
      |                                       ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Store_Utf8’:
autogen/include/Clownfish/Hash.h:313:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Hash *, const char *, size_t,  cfish_Obj *)’ {aka ‘void (*)(cfish_Hash *, const char *, long unsigned int,  cfish_Obj *)’} [-Wcast-function-type]
  313 |     const CFISH_Hash_Store_Utf8_t method = (CFISH_Hash_Store_Utf8_t)cfish_obj_method(self, CFISH_Hash_Store_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Fetch’:
autogen/include/Clownfish/Hash.h:324:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Hash *, cfish_String *)’ [-Wcast-function-type]
  324 |     const CFISH_Hash_Fetch_t method = (CFISH_Hash_Fetch_t)cfish_obj_method(self, CFISH_Hash_Fetch_OFFSET);
      |                                       ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Fetch_Utf8’:
autogen/include/Clownfish/Hash.h:335:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Hash *, const char *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Hash *, const char *, long unsigned int)’} [-Wcast-function-type]
  335 |     const CFISH_Hash_Fetch_Utf8_t method = (CFISH_Hash_Fetch_Utf8_t)cfish_obj_method(self, CFISH_Hash_Fetch_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Delete’:
autogen/include/Clownfish/Hash.h:346:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Hash *, cfish_String *)’ [-Wcast-function-type]
  346 |     const CFISH_Hash_Delete_t method = (CFISH_Hash_Delete_t)cfish_obj_method(self, CFISH_Hash_Delete_OFFSET);
      |                                        ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Delete_Utf8’:
autogen/include/Clownfish/Hash.h:357:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Hash *, const char *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Hash *, const char *, long unsigned int)’} [-Wcast-function-type]
  357 |     const CFISH_Hash_Delete_Utf8_t method = (CFISH_Hash_Delete_Utf8_t)cfish_obj_method(self, CFISH_Hash_Delete_Utf8_OFFSET);
      |                                             ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Has_Key’:
autogen/include/Clownfish/Hash.h:368:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Hash *, cfish_String *)’ [-Wcast-function-type]
  368 |     const CFISH_Hash_Has_Key_t method = (CFISH_Hash_Has_Key_t)cfish_obj_method(self, CFISH_Hash_Has_Key_OFFSET);
      |                                         ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Keys’:
autogen/include/Clownfish/Hash.h:379:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Hash *)’ [-Wcast-function-type]
  379 |     const CFISH_Hash_Keys_t method = (CFISH_Hash_Keys_t)cfish_obj_method(self, CFISH_Hash_Keys_OFFSET);
      |                                      ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Values’:
autogen/include/Clownfish/Hash.h:390:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Hash *)’ [-Wcast-function-type]
  390 |     const CFISH_Hash_Values_t method = (CFISH_Hash_Values_t)cfish_obj_method(self, CFISH_Hash_Values_OFFSET);
      |                                        ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Get_Capacity’:
autogen/include/Clownfish/Hash.h:401:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Hash *)’ {aka ‘long unsigned int (*)(cfish_Hash *)’} [-Wcast-function-type]
  401 |     const CFISH_Hash_Get_Capacity_t method = (CFISH_Hash_Get_Capacity_t)cfish_obj_method(self, CFISH_Hash_Get_Capacity_OFFSET);
      |                                              ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Get_Size’:
autogen/include/Clownfish/Hash.h:412:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Hash *)’ {aka ‘long unsigned int (*)(cfish_Hash *)’} [-Wcast-function-type]
  412 |     const CFISH_Hash_Get_Size_t method = (CFISH_Hash_Get_Size_t)cfish_obj_method(self, CFISH_Hash_Get_Size_OFFSET);
      |                                          ^
In file included from cftest/Clownfish/Test/TestHash.c:30:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
In file included from cftest/Clownfish/Test/TestHash.c:32:
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_To_Host’:
autogen/include/Clownfish/Vector.h:245:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Vector *, void *)’ [-Wcast-function-type]
  245 |     const CFISH_Vec_To_Host_t method = (CFISH_Vec_To_Host_t)cfish_obj_method(self, CFISH_Vec_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Clone’:
autogen/include/Clownfish/Vector.h:256:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Vector *)’ [-Wcast-function-type]
  256 |     const CFISH_Vec_Clone_t method = (CFISH_Vec_Clone_t)cfish_obj_method(self, CFISH_Vec_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Equals’:
autogen/include/Clownfish/Vector.h:267:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Vector *, cfish_Obj *)’ [-Wcast-function-type]
  267 |     const CFISH_Vec_Equals_t method = (CFISH_Vec_Equals_t)cfish_obj_method(self, CFISH_Vec_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Compare_To’:
autogen/include/Clownfish/Vector.h:278:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Vector *, cfish_Obj *)’ {aka ‘int (*)(cfish_Vector *, cfish_Obj *)’} [-Wcast-function-type]
  278 |     const CFISH_Vec_Compare_To_t method = (CFISH_Vec_Compare_To_t)cfish_obj_method(self, CFISH_Vec_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_To_String’:
autogen/include/Clownfish/Vector.h:300:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Vector *)’ [-Wcast-function-type]
  300 |     const CFISH_Vec_To_String_t method = (CFISH_Vec_To_String_t)cfish_obj_method(self, CFISH_Vec_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Push’:
autogen/include/Clownfish/Vector.h:311:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, cfish_Obj *)’ [-Wcast-function-type]
  311 |     const CFISH_Vec_Push_t method = (CFISH_Vec_Push_t)cfish_obj_method(self, CFISH_Vec_Push_OFFSET);
      |                                     ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Push_All’:
autogen/include/Clownfish/Vector.h:322:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, cfish_Vector *)’ [-Wcast-function-type]
  322 |     const CFISH_Vec_Push_All_t method = (CFISH_Vec_Push_All_t)cfish_obj_method(self, CFISH_Vec_Push_All_OFFSET);
      |                                         ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Pop’:
autogen/include/Clownfish/Vector.h:333:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Vector *)’ [-Wcast-function-type]
  333 |     const CFISH_Vec_Pop_t method = (CFISH_Vec_Pop_t)cfish_obj_method(self, CFISH_Vec_Pop_OFFSET);
      |                                    ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Insert’:
autogen/include/Clownfish/Vector.h:344:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  cfish_Obj *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Obj *)’} [-Wcast-function-type]
  344 |     const CFISH_Vec_Insert_t method = (CFISH_Vec_Insert_t)cfish_obj_method(self, CFISH_Vec_Insert_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Insert_All’:
autogen/include/Clownfish/Vector.h:355:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  cfish_Vector *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Vector *)’} [-Wcast-function-type]
  355 |     const CFISH_Vec_Insert_All_t method = (CFISH_Vec_Insert_All_t)cfish_obj_method(self, CFISH_Vec_Insert_All_OFFSET);
      |                                           ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Grow’:
autogen/include/Clownfish/Vector.h:366:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  366 |     const CFISH_Vec_Grow_t method = (CFISH_Vec_Grow_t)cfish_obj_method(self, CFISH_Vec_Grow_OFFSET);
      |                                     ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Fetch’:
autogen/include/Clownfish/Vector.h:377:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Vector *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  377 |     const CFISH_Vec_Fetch_t method = (CFISH_Vec_Fetch_t)cfish_obj_method(self, CFISH_Vec_Fetch_OFFSET);
      |                                      ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Store’:
autogen/include/Clownfish/Vector.h:388:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  cfish_Obj *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Obj *)’} [-Wcast-function-type]
  388 |     const CFISH_Vec_Store_t method = (CFISH_Vec_Store_t)cfish_obj_method(self, CFISH_Vec_Store_OFFSET);
      |                                      ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Delete’:
autogen/include/Clownfish/Vector.h:399:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Vector *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  399 |     const CFISH_Vec_Delete_t method = (CFISH_Vec_Delete_t)cfish_obj_method(self, CFISH_Vec_Delete_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Excise’:
autogen/include/Clownfish/Vector.h:410:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  410 |     const CFISH_Vec_Excise_t method = (CFISH_Vec_Excise_t)cfish_obj_method(self, CFISH_Vec_Excise_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Resize’:
autogen/include/Clownfish/Vector.h:432:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  432 |     const CFISH_Vec_Resize_t method = (CFISH_Vec_Resize_t)cfish_obj_method(self, CFISH_Vec_Resize_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Get_Size’:
autogen/include/Clownfish/Vector.h:454:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Vector *)’ {aka ‘long unsigned int (*)(cfish_Vector *)’} [-Wcast-function-type]
  454 |     const CFISH_Vec_Get_Size_t method = (CFISH_Vec_Get_Size_t)cfish_obj_method(self, CFISH_Vec_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Get_Capacity’:
autogen/include/Clownfish/Vector.h:465:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Vector *)’ {aka ‘long unsigned int (*)(cfish_Vector *)’} [-Wcast-function-type]
  465 |     const CFISH_Vec_Get_Capacity_t method = (CFISH_Vec_Get_Capacity_t)cfish_obj_method(self, CFISH_Vec_Get_Capacity_OFFSET);
      |                                             ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Slice’:
autogen/include/Clownfish/Vector.h:476:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Vector *, size_t,  size_t)’ {aka ‘cfish_Vector * (*)(cfish_Vector *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  476 |     const CFISH_Vec_Slice_t method = (CFISH_Vec_Slice_t)cfish_obj_method(self, CFISH_Vec_Slice_OFFSET);
      |                                      ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/TestHashIterator.c -c -o cftest/Clownfish/Test/TestHashIterator.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/TestHashIterator.h:40,
                 from cftest/Clownfish/Test/TestHashIterator.c:23:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_To_Host’:
autogen/include/Clownfish/Test/TestHashIterator.h:130:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestHashIterator *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestHashIterator_To_Host_t method = (TESTCFISH_TestHashIterator_To_Host_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_To_Host_OFFSET);
      |                                                         ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_Clone’:
autogen/include/Clownfish/Test/TestHashIterator.h:137:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHashIterator *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestHashIterator_Clone_t method = (TESTCFISH_TestHashIterator_Clone_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_Clone_OFFSET);
      |                                                       ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_Equals’:
autogen/include/Clownfish/Test/TestHashIterator.h:144:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHashIterator *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestHashIterator_Equals_t method = (TESTCFISH_TestHashIterator_Equals_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_Equals_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_Compare_To’:
autogen/include/Clownfish/Test/TestHashIterator.h:151:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHashIterator *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestHashIterator *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestHashIterator_Compare_To_t method = (TESTCFISH_TestHashIterator_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_Compare_To_OFFSET);
      |                                                            ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_To_String’:
autogen/include/Clownfish/Test/TestHashIterator.h:165:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHashIterator *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestHashIterator_To_String_t method = (TESTCFISH_TestHashIterator_To_String_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_To_String_OFFSET);
      |                                                           ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_Run’:
autogen/include/Clownfish/Test/TestHashIterator.h:172:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestHashIterator *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestHashIterator_Run_t method = (TESTCFISH_TestHashIterator_Run_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_Run_OFFSET);
      |                                                     ^
In file included from cftest/Clownfish/Test/TestHashIterator.c:25:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
In file included from autogen/include/Clownfish/String.h:41,
                 from cftest/Clownfish/Test/TestHashIterator.c:26:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Host’:
autogen/include/Clownfish/String.h:387:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_String *, void *)’ [-Wcast-function-type]
  387 |     const CFISH_Str_To_Host_t method = (CFISH_Str_To_Host_t)cfish_obj_method(self, CFISH_Str_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Clone’:
autogen/include/Clownfish/String.h:398:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  398 |     const CFISH_Str_Clone_t method = (CFISH_Str_Clone_t)cfish_obj_method(self, CFISH_Str_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals’:
autogen/include/Clownfish/String.h:409:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  409 |     const CFISH_Str_Equals_t method = (CFISH_Str_Equals_t)cfish_obj_method(self, CFISH_Str_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Compare_To’:
autogen/include/Clownfish/String.h:420:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, cfish_Obj *)’ {aka ‘int (*)(cfish_String *, cfish_Obj *)’} [-Wcast-function-type]
  420 |     const CFISH_Str_Compare_To_t method = (CFISH_Str_Compare_To_t)cfish_obj_method(self, CFISH_Str_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_String’:
autogen/include/Clownfish/String.h:442:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  442 |     const CFISH_Str_To_String_t method = (CFISH_Str_To_String_t)cfish_obj_method(self, CFISH_Str_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat’:
autogen/include/Clownfish/String.h:453:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  453 |     const CFISH_Str_Cat_t method = (CFISH_Str_Cat_t)cfish_obj_method(self, CFISH_Str_Cat_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Utf8’:
autogen/include/Clownfish/String.h:464:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  464 |     const CFISH_Str_Cat_Utf8_t method = (CFISH_Str_Cat_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Utf8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Trusted_Utf8’:
autogen/include/Clownfish/String.h:475:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  475 |     const CFISH_Str_Cat_Trusted_Utf8_t method = (CFISH_Str_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Trusted_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_I64’:
autogen/include/Clownfish/String.h:486:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *)’ {aka ‘long int (*)(cfish_String *)’} [-Wcast-function-type]
  486 |     const CFISH_Str_To_I64_t method = (CFISH_Str_To_I64_t)cfish_obj_method(self, CFISH_Str_To_I64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_BaseX_To_I64’:
autogen/include/Clownfish/String.h:497:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *, uint32_t)’ {aka ‘long int (*)(cfish_String *, unsigned int)’} [-Wcast-function-type]
  497 |     const CFISH_Str_BaseX_To_I64_t method = (CFISH_Str_BaseX_To_I64_t)cfish_obj_method(self, CFISH_Str_BaseX_To_I64_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_F64’:
autogen/include/Clownfish/String.h:508:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_String *)’ [-Wcast-function-type]
  508 |     const CFISH_Str_To_F64_t method = (CFISH_Str_To_F64_t)cfish_obj_method(self, CFISH_Str_To_F64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With’:
autogen/include/Clownfish/String.h:519:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  519 |     const CFISH_Str_Starts_With_t method = (CFISH_Str_Starts_With_t)cfish_obj_method(self, CFISH_Str_Starts_With_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:530:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  530 |     const CFISH_Str_Starts_With_Utf8_t method = (CFISH_Str_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Starts_With_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With’:
autogen/include/Clownfish/String.h:541:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  541 |     const CFISH_Str_Ends_With_t method = (CFISH_Str_Ends_With_t)cfish_obj_method(self, CFISH_Str_Ends_With_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:552:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  552 |     const CFISH_Str_Ends_With_Utf8_t method = (CFISH_Str_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Ends_With_Utf8_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains’:
autogen/include/Clownfish/String.h:563:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  563 |     const CFISH_Str_Contains_t method = (CFISH_Str_Contains_t)cfish_obj_method(self, CFISH_Str_Contains_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains_Utf8’:
autogen/include/Clownfish/String.h:574:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  574 |     const CFISH_Str_Contains_Utf8_t method = (CFISH_Str_Contains_Utf8_t)cfish_obj_method(self, CFISH_Str_Contains_Utf8_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find’:
autogen/include/Clownfish/String.h:585:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  585 |     const CFISH_Str_Find_t method = (CFISH_Str_Find_t)cfish_obj_method(self, CFISH_Str_Find_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find_Utf8’:
autogen/include/Clownfish/String.h:596:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_StringIterator * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  596 |     const CFISH_Str_Find_Utf8_t method = (CFISH_Str_Find_Utf8_t)cfish_obj_method(self, CFISH_Str_Find_Utf8_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals_Utf8’:
autogen/include/Clownfish/String.h:607:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  607 |     const CFISH_Str_Equals_Utf8_t method = (CFISH_Str_Equals_Utf8_t)cfish_obj_method(self, CFISH_Str_Equals_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Length’:
autogen/include/Clownfish/String.h:618:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  618 |     const CFISH_Str_Length_t method = (CFISH_Str_Length_t)cfish_obj_method(self, CFISH_Str_Length_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Size’:
autogen/include/Clownfish/String.h:629:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  629 |     const CFISH_Str_Get_Size_t method = (CFISH_Str_Get_Size_t)cfish_obj_method(self, CFISH_Str_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Ptr8’:
autogen/include/Clownfish/String.h:640:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_String *)’ [-Wcast-function-type]
  640 |     const CFISH_Str_Get_Ptr8_t method = (CFISH_Str_Get_Ptr8_t)cfish_obj_method(self, CFISH_Str_Get_Ptr8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Utf8’:
autogen/include/Clownfish/String.h:651:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_String *)’ [-Wcast-function-type]
  651 |     const CFISH_Str_To_Utf8_t method = (CFISH_Str_To_Utf8_t)cfish_obj_method(self, CFISH_Str_To_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_ByteBuf’:
autogen/include/Clownfish/String.h:662:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_String *)’ [-Wcast-function-type]
  662 |     const CFISH_Str_To_ByteBuf_t method = (CFISH_Str_To_ByteBuf_t)cfish_obj_method(self, CFISH_Str_To_ByteBuf_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Is_Copy_On_IncRef’:
autogen/include/Clownfish/String.h:673:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *)’ [-Wcast-function-type]
  673 |     const CFISH_Str_Is_Copy_On_IncRef_t method = (CFISH_Str_Is_Copy_On_IncRef_t)cfish_obj_method(self, CFISH_Str_Is_Copy_On_IncRef_OFFSET);
      |                                                  ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Hash_Sum’:
autogen/include/Clownfish/String.h:684:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  684 |     const CFISH_Str_Hash_Sum_t method = (CFISH_Str_Hash_Sum_t)cfish_obj_method(self, CFISH_Str_Hash_Sum_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim’:
autogen/include/Clownfish/String.h:695:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  695 |     const CFISH_Str_Trim_t method = (CFISH_Str_Trim_t)cfish_obj_method(self, CFISH_Str_Trim_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Top’:
autogen/include/Clownfish/String.h:706:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  706 |     const CFISH_Str_Trim_Top_t method = (CFISH_Str_Trim_Top_t)cfish_obj_method(self, CFISH_Str_Trim_Top_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Tail’:
autogen/include/Clownfish/String.h:717:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  717 |     const CFISH_Str_Trim_Tail_t method = (CFISH_Str_Trim_Tail_t)cfish_obj_method(self, CFISH_Str_Trim_Tail_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_At’:
autogen/include/Clownfish/String.h:728:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  728 |     const CFISH_Str_Code_Point_At_t method = (CFISH_Str_Code_Point_At_t)cfish_obj_method(self, CFISH_Str_Code_Point_At_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_From’:
autogen/include/Clownfish/String.h:739:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  739 |     const CFISH_Str_Code_Point_From_t method = (CFISH_Str_Code_Point_From_t)cfish_obj_method(self, CFISH_Str_Code_Point_From_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_SubString’:
autogen/include/Clownfish/String.h:750:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, size_t,  size_t)’ {aka ‘cfish_String * (*)(cfish_String *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  750 |     const CFISH_Str_SubString_t method = (CFISH_Str_SubString_t)cfish_obj_method(self, CFISH_Str_SubString_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Top’:
autogen/include/Clownfish/String.h:761:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  761 |     const CFISH_Str_Top_t method = (CFISH_Str_Top_t)cfish_obj_method(self, CFISH_Str_Top_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Tail’:
autogen/include/Clownfish/String.h:772:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  772 |     const CFISH_Str_Tail_t method = (CFISH_Str_Tail_t)cfish_obj_method(self, CFISH_Str_Tail_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_Host’:
autogen/include/Clownfish/String.h:1113:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_StringIterator *, void *)’ [-Wcast-function-type]
 1113 |     const CFISH_StrIter_To_Host_t method = (CFISH_StrIter_To_Host_t)cfish_obj_method(self, CFISH_StrIter_To_Host_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Clone’:
autogen/include/Clownfish/String.h:1124:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1124 |     const CFISH_StrIter_Clone_t method = (CFISH_StrIter_Clone_t)cfish_obj_method(self, CFISH_StrIter_Clone_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Equals’:
autogen/include/Clownfish/String.h:1135:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_Obj *)’ [-Wcast-function-type]
 1135 |     const CFISH_StrIter_Equals_t method = (CFISH_StrIter_Equals_t)cfish_obj_method(self, CFISH_StrIter_Equals_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Compare_To’:
autogen/include/Clownfish/String.h:1146:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_StringIterator *, cfish_Obj *)’} [-Wcast-function-type]
 1146 |     const CFISH_StrIter_Compare_To_t method = (CFISH_StrIter_Compare_To_t)cfish_obj_method(self, CFISH_StrIter_Compare_To_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_String’:
autogen/include/Clownfish/String.h:1168:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1168 |     const CFISH_StrIter_To_String_t method = (CFISH_StrIter_To_String_t)cfish_obj_method(self, CFISH_StrIter_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Assign’:
autogen/include/Clownfish/String.h:1179:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_StringIterator *, cfish_StringIterator *)’ [-Wcast-function-type]
 1179 |     const CFISH_StrIter_Assign_t method = (CFISH_StrIter_Assign_t)cfish_obj_method(self, CFISH_StrIter_Assign_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Next’:
autogen/include/Clownfish/String.h:1190:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1190 |     const CFISH_StrIter_Has_Next_t method = (CFISH_StrIter_Has_Next_t)cfish_obj_method(self, CFISH_StrIter_Has_Next_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Prev’:
autogen/include/Clownfish/String.h:1201:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1201 |     const CFISH_StrIter_Has_Prev_t method = (CFISH_StrIter_Has_Prev_t)cfish_obj_method(self, CFISH_StrIter_Has_Prev_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Next’:
autogen/include/Clownfish/String.h:1212:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1212 |     const CFISH_StrIter_Next_t method = (CFISH_StrIter_Next_t)cfish_obj_method(self, CFISH_StrIter_Next_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Prev’:
autogen/include/Clownfish/String.h:1223:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1223 |     const CFISH_StrIter_Prev_t method = (CFISH_StrIter_Prev_t)cfish_obj_method(self, CFISH_StrIter_Prev_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Advance’:
autogen/include/Clownfish/String.h:1234:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1234 |     const CFISH_StrIter_Advance_t method = (CFISH_StrIter_Advance_t)cfish_obj_method(self, CFISH_StrIter_Advance_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Recede’:
autogen/include/Clownfish/String.h:1245:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1245 |     const CFISH_StrIter_Recede_t method = (CFISH_StrIter_Recede_t)cfish_obj_method(self, CFISH_StrIter_Recede_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace’:
autogen/include/Clownfish/String.h:1256:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1256 |     const CFISH_StrIter_Skip_Whitespace_t method = (CFISH_StrIter_Skip_Whitespace_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_OFFSET);
      |                                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace_Back’:
autogen/include/Clownfish/String.h:1267:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1267 |     const CFISH_StrIter_Skip_Whitespace_Back_t method = (CFISH_StrIter_Skip_Whitespace_Back_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_Back_OFFSET);
      |                                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With’:
autogen/include/Clownfish/String.h:1278:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1278 |     const CFISH_StrIter_Starts_With_t method = (CFISH_StrIter_Starts_With_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:1289:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1289 |     const CFISH_StrIter_Starts_With_Utf8_t method = (CFISH_StrIter_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_Utf8_OFFSET);
      |                                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With’:
autogen/include/Clownfish/String.h:1300:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1300 |     const CFISH_StrIter_Ends_With_t method = (CFISH_StrIter_Ends_With_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:1311:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1311 |     const CFISH_StrIter_Ends_With_Utf8_t method = (CFISH_StrIter_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_Utf8_OFFSET);
      |                                                   ^
In file included from cftest/Clownfish/Test/TestHashIterator.c:27:
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_To_Host’:
autogen/include/Clownfish/Hash.h:225:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Hash *, void *)’ [-Wcast-function-type]
  225 |     const CFISH_Hash_To_Host_t method = (CFISH_Hash_To_Host_t)cfish_obj_method(self, CFISH_Hash_To_Host_OFFSET);
      |                                         ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Clone’:
autogen/include/Clownfish/Hash.h:236:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Hash *)’ [-Wcast-function-type]
  236 |     const CFISH_Hash_Clone_t method = (CFISH_Hash_Clone_t)cfish_obj_method(self, CFISH_Hash_Clone_OFFSET);
      |                                       ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Equals’:
autogen/include/Clownfish/Hash.h:247:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Hash *, cfish_Obj *)’ [-Wcast-function-type]
  247 |     const CFISH_Hash_Equals_t method = (CFISH_Hash_Equals_t)cfish_obj_method(self, CFISH_Hash_Equals_OFFSET);
      |                                        ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Compare_To’:
autogen/include/Clownfish/Hash.h:258:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Hash *, cfish_Obj *)’ {aka ‘int (*)(cfish_Hash *, cfish_Obj *)’} [-Wcast-function-type]
  258 |     const CFISH_Hash_Compare_To_t method = (CFISH_Hash_Compare_To_t)cfish_obj_method(self, CFISH_Hash_Compare_To_OFFSET);
      |                                            ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_To_String’:
autogen/include/Clownfish/Hash.h:280:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Hash *)’ [-Wcast-function-type]
  280 |     const CFISH_Hash_To_String_t method = (CFISH_Hash_To_String_t)cfish_obj_method(self, CFISH_Hash_To_String_OFFSET);
      |                                           ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Store’:
autogen/include/Clownfish/Hash.h:302:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Hash *, cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  302 |     const CFISH_Hash_Store_t method = (CFISH_Hash_Store_t)cfish_obj_method(self, CFISH_Hash_Store_OFFSET);
      |                                       ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Store_Utf8’:
autogen/include/Clownfish/Hash.h:313:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Hash *, const char *, size_t,  cfish_Obj *)’ {aka ‘void (*)(cfish_Hash *, const char *, long unsigned int,  cfish_Obj *)’} [-Wcast-function-type]
  313 |     const CFISH_Hash_Store_Utf8_t method = (CFISH_Hash_Store_Utf8_t)cfish_obj_method(self, CFISH_Hash_Store_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Fetch’:
autogen/include/Clownfish/Hash.h:324:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Hash *, cfish_String *)’ [-Wcast-function-type]
  324 |     const CFISH_Hash_Fetch_t method = (CFISH_Hash_Fetch_t)cfish_obj_method(self, CFISH_Hash_Fetch_OFFSET);
      |                                       ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Fetch_Utf8’:
autogen/include/Clownfish/Hash.h:335:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Hash *, const char *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Hash *, const char *, long unsigned int)’} [-Wcast-function-type]
  335 |     const CFISH_Hash_Fetch_Utf8_t method = (CFISH_Hash_Fetch_Utf8_t)cfish_obj_method(self, CFISH_Hash_Fetch_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Delete’:
autogen/include/Clownfish/Hash.h:346:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Hash *, cfish_String *)’ [-Wcast-function-type]
  346 |     const CFISH_Hash_Delete_t method = (CFISH_Hash_Delete_t)cfish_obj_method(self, CFISH_Hash_Delete_OFFSET);
      |                                        ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Delete_Utf8’:
autogen/include/Clownfish/Hash.h:357:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Hash *, const char *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Hash *, const char *, long unsigned int)’} [-Wcast-function-type]
  357 |     const CFISH_Hash_Delete_Utf8_t method = (CFISH_Hash_Delete_Utf8_t)cfish_obj_method(self, CFISH_Hash_Delete_Utf8_OFFSET);
      |                                             ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Has_Key’:
autogen/include/Clownfish/Hash.h:368:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Hash *, cfish_String *)’ [-Wcast-function-type]
  368 |     const CFISH_Hash_Has_Key_t method = (CFISH_Hash_Has_Key_t)cfish_obj_method(self, CFISH_Hash_Has_Key_OFFSET);
      |                                         ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Keys’:
autogen/include/Clownfish/Hash.h:379:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Hash *)’ [-Wcast-function-type]
  379 |     const CFISH_Hash_Keys_t method = (CFISH_Hash_Keys_t)cfish_obj_method(self, CFISH_Hash_Keys_OFFSET);
      |                                      ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Values’:
autogen/include/Clownfish/Hash.h:390:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Hash *)’ [-Wcast-function-type]
  390 |     const CFISH_Hash_Values_t method = (CFISH_Hash_Values_t)cfish_obj_method(self, CFISH_Hash_Values_OFFSET);
      |                                        ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Get_Capacity’:
autogen/include/Clownfish/Hash.h:401:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Hash *)’ {aka ‘long unsigned int (*)(cfish_Hash *)’} [-Wcast-function-type]
  401 |     const CFISH_Hash_Get_Capacity_t method = (CFISH_Hash_Get_Capacity_t)cfish_obj_method(self, CFISH_Hash_Get_Capacity_OFFSET);
      |                                              ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Get_Size’:
autogen/include/Clownfish/Hash.h:412:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Hash *)’ {aka ‘long unsigned int (*)(cfish_Hash *)’} [-Wcast-function-type]
  412 |     const CFISH_Hash_Get_Size_t method = (CFISH_Hash_Get_Size_t)cfish_obj_method(self, CFISH_Hash_Get_Size_OFFSET);
      |                                          ^
In file included from cftest/Clownfish/Test/TestHashIterator.c:28:
autogen/include/Clownfish/HashIterator.h: In function ‘CFISH_HashIter_To_Host’:
autogen/include/Clownfish/HashIterator.h:161:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_HashIterator *, void *)’ [-Wcast-function-type]
  161 |     const CFISH_HashIter_To_Host_t method = (CFISH_HashIter_To_Host_t)cfish_obj_method(self, CFISH_HashIter_To_Host_OFFSET);
      |                                             ^
autogen/include/Clownfish/HashIterator.h: In function ‘CFISH_HashIter_Clone’:
autogen/include/Clownfish/HashIterator.h:172:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_HashIterator *)’ [-Wcast-function-type]
  172 |     const CFISH_HashIter_Clone_t method = (CFISH_HashIter_Clone_t)cfish_obj_method(self, CFISH_HashIter_Clone_OFFSET);
      |                                           ^
autogen/include/Clownfish/HashIterator.h: In function ‘CFISH_HashIter_Equals’:
autogen/include/Clownfish/HashIterator.h:183:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_HashIterator *, cfish_Obj *)’ [-Wcast-function-type]
  183 |     const CFISH_HashIter_Equals_t method = (CFISH_HashIter_Equals_t)cfish_obj_method(self, CFISH_HashIter_Equals_OFFSET);
      |                                            ^
autogen/include/Clownfish/HashIterator.h: In function ‘CFISH_HashIter_Compare_To’:
autogen/include/Clownfish/HashIterator.h:194:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_HashIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_HashIterator *, cfish_Obj *)’} [-Wcast-function-type]
  194 |     const CFISH_HashIter_Compare_To_t method = (CFISH_HashIter_Compare_To_t)cfish_obj_method(self, CFISH_HashIter_Compare_To_OFFSET);
      |                                                ^
autogen/include/Clownfish/HashIterator.h: In function ‘CFISH_HashIter_To_String’:
autogen/include/Clownfish/HashIterator.h:216:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_HashIterator *)’ [-Wcast-function-type]
  216 |     const CFISH_HashIter_To_String_t method = (CFISH_HashIter_To_String_t)cfish_obj_method(self, CFISH_HashIter_To_String_OFFSET);
      |                                               ^
autogen/include/Clownfish/HashIterator.h: In function ‘CFISH_HashIter_Next’:
autogen/include/Clownfish/HashIterator.h:227:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_HashIterator *)’ [-Wcast-function-type]
  227 |     const CFISH_HashIter_Next_t method = (CFISH_HashIter_Next_t)cfish_obj_method(self, CFISH_HashIter_Next_OFFSET);
      |                                          ^
autogen/include/Clownfish/HashIterator.h: In function ‘CFISH_HashIter_Get_Key’:
autogen/include/Clownfish/HashIterator.h:238:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_HashIterator *)’ [-Wcast-function-type]
  238 |     const CFISH_HashIter_Get_Key_t method = (CFISH_HashIter_Get_Key_t)cfish_obj_method(self, CFISH_HashIter_Get_Key_OFFSET);
      |                                             ^
autogen/include/Clownfish/HashIterator.h: In function ‘CFISH_HashIter_Get_Value’:
autogen/include/Clownfish/HashIterator.h:249:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_HashIterator *)’ [-Wcast-function-type]
  249 |     const CFISH_HashIter_Get_Value_t method = (CFISH_HashIter_Get_Value_t)cfish_obj_method(self, CFISH_HashIter_Get_Value_OFFSET);
      |                                               ^
In file included from cftest/Clownfish/Test/TestHashIterator.c:30:
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_To_Host’:
autogen/include/Clownfish/Vector.h:245:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Vector *, void *)’ [-Wcast-function-type]
  245 |     const CFISH_Vec_To_Host_t method = (CFISH_Vec_To_Host_t)cfish_obj_method(self, CFISH_Vec_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Clone’:
autogen/include/Clownfish/Vector.h:256:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Vector *)’ [-Wcast-function-type]
  256 |     const CFISH_Vec_Clone_t method = (CFISH_Vec_Clone_t)cfish_obj_method(self, CFISH_Vec_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Equals’:
autogen/include/Clownfish/Vector.h:267:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Vector *, cfish_Obj *)’ [-Wcast-function-type]
  267 |     const CFISH_Vec_Equals_t method = (CFISH_Vec_Equals_t)cfish_obj_method(self, CFISH_Vec_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Compare_To’:
autogen/include/Clownfish/Vector.h:278:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Vector *, cfish_Obj *)’ {aka ‘int (*)(cfish_Vector *, cfish_Obj *)’} [-Wcast-function-type]
  278 |     const CFISH_Vec_Compare_To_t method = (CFISH_Vec_Compare_To_t)cfish_obj_method(self, CFISH_Vec_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_To_String’:
autogen/include/Clownfish/Vector.h:300:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Vector *)’ [-Wcast-function-type]
  300 |     const CFISH_Vec_To_String_t method = (CFISH_Vec_To_String_t)cfish_obj_method(self, CFISH_Vec_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Push’:
autogen/include/Clownfish/Vector.h:311:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, cfish_Obj *)’ [-Wcast-function-type]
  311 |     const CFISH_Vec_Push_t method = (CFISH_Vec_Push_t)cfish_obj_method(self, CFISH_Vec_Push_OFFSET);
      |                                     ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Push_All’:
autogen/include/Clownfish/Vector.h:322:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, cfish_Vector *)’ [-Wcast-function-type]
  322 |     const CFISH_Vec_Push_All_t method = (CFISH_Vec_Push_All_t)cfish_obj_method(self, CFISH_Vec_Push_All_OFFSET);
      |                                         ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Pop’:
autogen/include/Clownfish/Vector.h:333:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Vector *)’ [-Wcast-function-type]
  333 |     const CFISH_Vec_Pop_t method = (CFISH_Vec_Pop_t)cfish_obj_method(self, CFISH_Vec_Pop_OFFSET);
      |                                    ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Insert’:
autogen/include/Clownfish/Vector.h:344:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  cfish_Obj *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Obj *)’} [-Wcast-function-type]
  344 |     const CFISH_Vec_Insert_t method = (CFISH_Vec_Insert_t)cfish_obj_method(self, CFISH_Vec_Insert_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Insert_All’:
autogen/include/Clownfish/Vector.h:355:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  cfish_Vector *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Vector *)’} [-Wcast-function-type]
  355 |     const CFISH_Vec_Insert_All_t method = (CFISH_Vec_Insert_All_t)cfish_obj_method(self, CFISH_Vec_Insert_All_OFFSET);
      |                                           ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Grow’:
autogen/include/Clownfish/Vector.h:366:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  366 |     const CFISH_Vec_Grow_t method = (CFISH_Vec_Grow_t)cfish_obj_method(self, CFISH_Vec_Grow_OFFSET);
      |                                     ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Fetch’:
autogen/include/Clownfish/Vector.h:377:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Vector *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  377 |     const CFISH_Vec_Fetch_t method = (CFISH_Vec_Fetch_t)cfish_obj_method(self, CFISH_Vec_Fetch_OFFSET);
      |                                      ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Store’:
autogen/include/Clownfish/Vector.h:388:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  cfish_Obj *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Obj *)’} [-Wcast-function-type]
  388 |     const CFISH_Vec_Store_t method = (CFISH_Vec_Store_t)cfish_obj_method(self, CFISH_Vec_Store_OFFSET);
      |                                      ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Delete’:
autogen/include/Clownfish/Vector.h:399:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Vector *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  399 |     const CFISH_Vec_Delete_t method = (CFISH_Vec_Delete_t)cfish_obj_method(self, CFISH_Vec_Delete_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Excise’:
autogen/include/Clownfish/Vector.h:410:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  410 |     const CFISH_Vec_Excise_t method = (CFISH_Vec_Excise_t)cfish_obj_method(self, CFISH_Vec_Excise_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Resize’:
autogen/include/Clownfish/Vector.h:432:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  432 |     const CFISH_Vec_Resize_t method = (CFISH_Vec_Resize_t)cfish_obj_method(self, CFISH_Vec_Resize_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Get_Size’:
autogen/include/Clownfish/Vector.h:454:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Vector *)’ {aka ‘long unsigned int (*)(cfish_Vector *)’} [-Wcast-function-type]
  454 |     const CFISH_Vec_Get_Size_t method = (CFISH_Vec_Get_Size_t)cfish_obj_method(self, CFISH_Vec_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Get_Capacity’:
autogen/include/Clownfish/Vector.h:465:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Vector *)’ {aka ‘long unsigned int (*)(cfish_Vector *)’} [-Wcast-function-type]
  465 |     const CFISH_Vec_Get_Capacity_t method = (CFISH_Vec_Get_Capacity_t)cfish_obj_method(self, CFISH_Vec_Get_Capacity_OFFSET);
      |                                             ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Slice’:
autogen/include/Clownfish/Vector.h:476:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Vector *, size_t,  size_t)’ {aka ‘cfish_Vector * (*)(cfish_Vector *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  476 |     const CFISH_Vec_Slice_t method = (CFISH_Vec_Slice_t)cfish_obj_method(self, CFISH_Vec_Slice_OFFSET);
      |                                      ^
In file included from cftest/Clownfish/Test/TestHashIterator.c:31:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/TestHost.c -c -o cftest/Clownfish/Test/TestHost.o
In file included from autogen/include/Clownfish/Test/TestHost.h:40,
                 from cftest/Clownfish/Test/TestHost.c:20:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_To_Host’:
autogen/include/Clownfish/Test/TestHost.h:220:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestHost *, void *)’ [-Wcast-function-type]
  220 |     const TESTCFISH_TestHost_To_Host_t method = (TESTCFISH_TestHost_To_Host_t)cfish_obj_method(self, TESTCFISH_TestHost_To_Host_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Clone’:
autogen/include/Clownfish/Test/TestHost.h:227:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHost *)’ [-Wcast-function-type]
  227 |     const TESTCFISH_TestHost_Clone_t method = (TESTCFISH_TestHost_Clone_t)cfish_obj_method(self, TESTCFISH_TestHost_Clone_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Equals’:
autogen/include/Clownfish/Test/TestHost.h:234:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHost *, cfish_Obj *)’ [-Wcast-function-type]
  234 |     const TESTCFISH_TestHost_Equals_t method = (TESTCFISH_TestHost_Equals_t)cfish_obj_method(self, TESTCFISH_TestHost_Equals_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Compare_To’:
autogen/include/Clownfish/Test/TestHost.h:241:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHost *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestHost *, cfish_Obj *)’} [-Wcast-function-type]
  241 |     const TESTCFISH_TestHost_Compare_To_t method = (TESTCFISH_TestHost_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestHost_Compare_To_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_To_String’:
autogen/include/Clownfish/Test/TestHost.h:255:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHost *)’ [-Wcast-function-type]
  255 |     const TESTCFISH_TestHost_To_String_t method = (TESTCFISH_TestHost_To_String_t)cfish_obj_method(self, TESTCFISH_TestHost_To_String_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Obj_Pos_Arg’:
autogen/include/Clownfish/Test/TestHost.h:262:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *)’ [-Wcast-function-type]
  262 |     const TESTCFISH_TestHost_Test_Obj_Pos_Arg_t method = (TESTCFISH_TestHost_Test_Obj_Pos_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Obj_Pos_Arg_OFFSET);
      |                                                          ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Obj_Pos_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:269:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *)’ [-Wcast-function-type]
  269 |     const TESTCFISH_TestHost_Test_Obj_Pos_Arg_Def_t method = (TESTCFISH_TestHost_Test_Obj_Pos_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Obj_Pos_Arg_Def_OFFSET);
      |                                                              ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Obj_Label_Arg’:
autogen/include/Clownfish/Test/TestHost.h:276:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *, _Bool)’ [-Wcast-function-type]
  276 |     const TESTCFISH_TestHost_Test_Obj_Label_Arg_t method = (TESTCFISH_TestHost_Test_Obj_Label_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Obj_Label_Arg_OFFSET);
      |                                                            ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Obj_Label_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:283:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *, _Bool)’ [-Wcast-function-type]
  283 |     const TESTCFISH_TestHost_Test_Obj_Label_Arg_Def_t method = (TESTCFISH_TestHost_Test_Obj_Label_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Obj_Label_Arg_Def_OFFSET);
      |                                                                ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Int32_Pos_Arg’:
autogen/include/Clownfish/Test/TestHost.h:290:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHost *, int32_t)’ {aka ‘int (*)(testcfish_TestHost *, int)’} [-Wcast-function-type]
  290 |     const TESTCFISH_TestHost_Test_Int32_Pos_Arg_t method = (TESTCFISH_TestHost_Test_Int32_Pos_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Int32_Pos_Arg_OFFSET);
      |                                                            ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Int32_Pos_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:297:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHost *, int32_t)’ {aka ‘int (*)(testcfish_TestHost *, int)’} [-Wcast-function-type]
  297 |     const TESTCFISH_TestHost_Test_Int32_Pos_Arg_Def_t method = (TESTCFISH_TestHost_Test_Int32_Pos_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Int32_Pos_Arg_Def_OFFSET);
      |                                                                ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Int32_Label_Arg’:
autogen/include/Clownfish/Test/TestHost.h:304:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHost *, int32_t,  _Bool)’ {aka ‘int (*)(testcfish_TestHost *, int,  _Bool)’} [-Wcast-function-type]
  304 |     const TESTCFISH_TestHost_Test_Int32_Label_Arg_t method = (TESTCFISH_TestHost_Test_Int32_Label_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Int32_Label_Arg_OFFSET);
      |                                                              ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Int32_Label_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:311:66: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHost *, int32_t,  _Bool)’ {aka ‘int (*)(testcfish_TestHost *, int,  _Bool)’} [-Wcast-function-type]
  311 |     const TESTCFISH_TestHost_Test_Int32_Label_Arg_Def_t method = (TESTCFISH_TestHost_Test_Int32_Label_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Int32_Label_Arg_Def_OFFSET);
      |                                                                  ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Bool_Pos_Arg’:
autogen/include/Clownfish/Test/TestHost.h:318:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHost *, _Bool)’ [-Wcast-function-type]
  318 |     const TESTCFISH_TestHost_Test_Bool_Pos_Arg_t method = (TESTCFISH_TestHost_Test_Bool_Pos_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Bool_Pos_Arg_OFFSET);
      |                                                           ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Bool_Pos_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:325:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHost *, _Bool)’ [-Wcast-function-type]
  325 |     const TESTCFISH_TestHost_Test_Bool_Pos_Arg_Def_t method = (TESTCFISH_TestHost_Test_Bool_Pos_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Bool_Pos_Arg_Def_OFFSET);
      |                                                               ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Bool_Label_Arg’:
autogen/include/Clownfish/Test/TestHost.h:332:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHost *, _Bool,  _Bool)’ [-Wcast-function-type]
  332 |     const TESTCFISH_TestHost_Test_Bool_Label_Arg_t method = (TESTCFISH_TestHost_Test_Bool_Label_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Bool_Label_Arg_OFFSET);
      |                                                             ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Bool_Label_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:339:65: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHost *, _Bool,  _Bool)’ [-Wcast-function-type]
  339 |     const TESTCFISH_TestHost_Test_Bool_Label_Arg_Def_t method = (TESTCFISH_TestHost_Test_Bool_Label_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Bool_Label_Arg_Def_OFFSET);
      |                                                                 ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Invalid_Callback’:
autogen/include/Clownfish/Test/TestHost.h:346:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestHost *)’ [-Wcast-function-type]
  346 |     const TESTCFISH_TestHost_Invalid_Callback_t method = (TESTCFISH_TestHost_Invalid_Callback_t)cfish_obj_method(self, TESTCFISH_TestHost_Invalid_Callback_OFFSET);
      |                                                          ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Aliased’:
autogen/include/Clownfish/Test/TestHost.h:360:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHost *)’ [-Wcast-function-type]
  360 |     const TESTCFISH_TestHost_Aliased_t method = (TESTCFISH_TestHost_Aliased_t)cfish_obj_method(self, TESTCFISH_TestHost_Aliased_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Invoke_Aliased_From_C’:
autogen/include/Clownfish/Test/TestHost.h:367:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHost *)’ [-Wcast-function-type]
  367 |     const TESTCFISH_TestHost_Invoke_Aliased_From_C_t method = (TESTCFISH_TestHost_Invoke_Aliased_From_C_t)cfish_obj_method(self, TESTCFISH_TestHost_Invoke_Aliased_From_C_OFFSET);
      |                                                               ^
In file included from cftest/Clownfish/Test/TestHost.c:21:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
In file included from autogen/include/Clownfish/String.h:44,
                 from cftest/Clownfish/Test/TestHost.c:22:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Host’:
autogen/include/Clownfish/String.h:387:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_String *, void *)’ [-Wcast-function-type]
  387 |     const CFISH_Str_To_Host_t method = (CFISH_Str_To_Host_t)cfish_obj_method(self, CFISH_Str_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Clone’:
autogen/include/Clownfish/String.h:398:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  398 |     const CFISH_Str_Clone_t method = (CFISH_Str_Clone_t)cfish_obj_method(self, CFISH_Str_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals’:
autogen/include/Clownfish/String.h:409:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  409 |     const CFISH_Str_Equals_t method = (CFISH_Str_Equals_t)cfish_obj_method(self, CFISH_Str_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Compare_To’:
autogen/include/Clownfish/String.h:420:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, cfish_Obj *)’ {aka ‘int (*)(cfish_String *, cfish_Obj *)’} [-Wcast-function-type]
  420 |     const CFISH_Str_Compare_To_t method = (CFISH_Str_Compare_To_t)cfish_obj_method(self, CFISH_Str_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_String’:
autogen/include/Clownfish/String.h:442:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  442 |     const CFISH_Str_To_String_t method = (CFISH_Str_To_String_t)cfish_obj_method(self, CFISH_Str_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat’:
autogen/include/Clownfish/String.h:453:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  453 |     const CFISH_Str_Cat_t method = (CFISH_Str_Cat_t)cfish_obj_method(self, CFISH_Str_Cat_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Utf8’:
autogen/include/Clownfish/String.h:464:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  464 |     const CFISH_Str_Cat_Utf8_t method = (CFISH_Str_Cat_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Utf8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Trusted_Utf8’:
autogen/include/Clownfish/String.h:475:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  475 |     const CFISH_Str_Cat_Trusted_Utf8_t method = (CFISH_Str_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Trusted_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_I64’:
autogen/include/Clownfish/String.h:486:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *)’ {aka ‘long int (*)(cfish_String *)’} [-Wcast-function-type]
  486 |     const CFISH_Str_To_I64_t method = (CFISH_Str_To_I64_t)cfish_obj_method(self, CFISH_Str_To_I64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_BaseX_To_I64’:
autogen/include/Clownfish/String.h:497:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *, uint32_t)’ {aka ‘long int (*)(cfish_String *, unsigned int)’} [-Wcast-function-type]
  497 |     const CFISH_Str_BaseX_To_I64_t method = (CFISH_Str_BaseX_To_I64_t)cfish_obj_method(self, CFISH_Str_BaseX_To_I64_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_F64’:
autogen/include/Clownfish/String.h:508:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_String *)’ [-Wcast-function-type]
  508 |     const CFISH_Str_To_F64_t method = (CFISH_Str_To_F64_t)cfish_obj_method(self, CFISH_Str_To_F64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With’:
autogen/include/Clownfish/String.h:519:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  519 |     const CFISH_Str_Starts_With_t method = (CFISH_Str_Starts_With_t)cfish_obj_method(self, CFISH_Str_Starts_With_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:530:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  530 |     const CFISH_Str_Starts_With_Utf8_t method = (CFISH_Str_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Starts_With_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With’:
autogen/include/Clownfish/String.h:541:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  541 |     const CFISH_Str_Ends_With_t method = (CFISH_Str_Ends_With_t)cfish_obj_method(self, CFISH_Str_Ends_With_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:552:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  552 |     const CFISH_Str_Ends_With_Utf8_t method = (CFISH_Str_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Ends_With_Utf8_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains’:
autogen/include/Clownfish/String.h:563:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  563 |     const CFISH_Str_Contains_t method = (CFISH_Str_Contains_t)cfish_obj_method(self, CFISH_Str_Contains_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains_Utf8’:
autogen/include/Clownfish/String.h:574:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  574 |     const CFISH_Str_Contains_Utf8_t method = (CFISH_Str_Contains_Utf8_t)cfish_obj_method(self, CFISH_Str_Contains_Utf8_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find’:
autogen/include/Clownfish/String.h:585:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  585 |     const CFISH_Str_Find_t method = (CFISH_Str_Find_t)cfish_obj_method(self, CFISH_Str_Find_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find_Utf8’:
autogen/include/Clownfish/String.h:596:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_StringIterator * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  596 |     const CFISH_Str_Find_Utf8_t method = (CFISH_Str_Find_Utf8_t)cfish_obj_method(self, CFISH_Str_Find_Utf8_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals_Utf8’:
autogen/include/Clownfish/String.h:607:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  607 |     const CFISH_Str_Equals_Utf8_t method = (CFISH_Str_Equals_Utf8_t)cfish_obj_method(self, CFISH_Str_Equals_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Length’:
autogen/include/Clownfish/String.h:618:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  618 |     const CFISH_Str_Length_t method = (CFISH_Str_Length_t)cfish_obj_method(self, CFISH_Str_Length_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Size’:
autogen/include/Clownfish/String.h:629:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  629 |     const CFISH_Str_Get_Size_t method = (CFISH_Str_Get_Size_t)cfish_obj_method(self, CFISH_Str_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Ptr8’:
autogen/include/Clownfish/String.h:640:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_String *)’ [-Wcast-function-type]
  640 |     const CFISH_Str_Get_Ptr8_t method = (CFISH_Str_Get_Ptr8_t)cfish_obj_method(self, CFISH_Str_Get_Ptr8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Utf8’:
autogen/include/Clownfish/String.h:651:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_String *)’ [-Wcast-function-type]
  651 |     const CFISH_Str_To_Utf8_t method = (CFISH_Str_To_Utf8_t)cfish_obj_method(self, CFISH_Str_To_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_ByteBuf’:
autogen/include/Clownfish/String.h:662:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_String *)’ [-Wcast-function-type]
  662 |     const CFISH_Str_To_ByteBuf_t method = (CFISH_Str_To_ByteBuf_t)cfish_obj_method(self, CFISH_Str_To_ByteBuf_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Is_Copy_On_IncRef’:
autogen/include/Clownfish/String.h:673:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *)’ [-Wcast-function-type]
  673 |     const CFISH_Str_Is_Copy_On_IncRef_t method = (CFISH_Str_Is_Copy_On_IncRef_t)cfish_obj_method(self, CFISH_Str_Is_Copy_On_IncRef_OFFSET);
      |                                                  ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Hash_Sum’:
autogen/include/Clownfish/String.h:684:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  684 |     const CFISH_Str_Hash_Sum_t method = (CFISH_Str_Hash_Sum_t)cfish_obj_method(self, CFISH_Str_Hash_Sum_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim’:
autogen/include/Clownfish/String.h:695:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  695 |     const CFISH_Str_Trim_t method = (CFISH_Str_Trim_t)cfish_obj_method(self, CFISH_Str_Trim_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Top’:
autogen/include/Clownfish/String.h:706:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  706 |     const CFISH_Str_Trim_Top_t method = (CFISH_Str_Trim_Top_t)cfish_obj_method(self, CFISH_Str_Trim_Top_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Tail’:
autogen/include/Clownfish/String.h:717:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  717 |     const CFISH_Str_Trim_Tail_t method = (CFISH_Str_Trim_Tail_t)cfish_obj_method(self, CFISH_Str_Trim_Tail_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_At’:
autogen/include/Clownfish/String.h:728:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  728 |     const CFISH_Str_Code_Point_At_t method = (CFISH_Str_Code_Point_At_t)cfish_obj_method(self, CFISH_Str_Code_Point_At_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_From’:
autogen/include/Clownfish/String.h:739:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  739 |     const CFISH_Str_Code_Point_From_t method = (CFISH_Str_Code_Point_From_t)cfish_obj_method(self, CFISH_Str_Code_Point_From_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_SubString’:
autogen/include/Clownfish/String.h:750:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, size_t,  size_t)’ {aka ‘cfish_String * (*)(cfish_String *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  750 |     const CFISH_Str_SubString_t method = (CFISH_Str_SubString_t)cfish_obj_method(self, CFISH_Str_SubString_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Top’:
autogen/include/Clownfish/String.h:761:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  761 |     const CFISH_Str_Top_t method = (CFISH_Str_Top_t)cfish_obj_method(self, CFISH_Str_Top_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Tail’:
autogen/include/Clownfish/String.h:772:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  772 |     const CFISH_Str_Tail_t method = (CFISH_Str_Tail_t)cfish_obj_method(self, CFISH_Str_Tail_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_Host’:
autogen/include/Clownfish/String.h:1113:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_StringIterator *, void *)’ [-Wcast-function-type]
 1113 |     const CFISH_StrIter_To_Host_t method = (CFISH_StrIter_To_Host_t)cfish_obj_method(self, CFISH_StrIter_To_Host_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Clone’:
autogen/include/Clownfish/String.h:1124:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1124 |     const CFISH_StrIter_Clone_t method = (CFISH_StrIter_Clone_t)cfish_obj_method(self, CFISH_StrIter_Clone_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Equals’:
autogen/include/Clownfish/String.h:1135:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_Obj *)’ [-Wcast-function-type]
 1135 |     const CFISH_StrIter_Equals_t method = (CFISH_StrIter_Equals_t)cfish_obj_method(self, CFISH_StrIter_Equals_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Compare_To’:
autogen/include/Clownfish/String.h:1146:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_StringIterator *, cfish_Obj *)’} [-Wcast-function-type]
 1146 |     const CFISH_StrIter_Compare_To_t method = (CFISH_StrIter_Compare_To_t)cfish_obj_method(self, CFISH_StrIter_Compare_To_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_String’:
autogen/include/Clownfish/String.h:1168:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1168 |     const CFISH_StrIter_To_String_t method = (CFISH_StrIter_To_String_t)cfish_obj_method(self, CFISH_StrIter_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Assign’:
autogen/include/Clownfish/String.h:1179:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_StringIterator *, cfish_StringIterator *)’ [-Wcast-function-type]
 1179 |     const CFISH_StrIter_Assign_t method = (CFISH_StrIter_Assign_t)cfish_obj_method(self, CFISH_StrIter_Assign_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Next’:
autogen/include/Clownfish/String.h:1190:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1190 |     const CFISH_StrIter_Has_Next_t method = (CFISH_StrIter_Has_Next_t)cfish_obj_method(self, CFISH_StrIter_Has_Next_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Prev’:
autogen/include/Clownfish/String.h:1201:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1201 |     const CFISH_StrIter_Has_Prev_t method = (CFISH_StrIter_Has_Prev_t)cfish_obj_method(self, CFISH_StrIter_Has_Prev_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Next’:
autogen/include/Clownfish/String.h:1212:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1212 |     const CFISH_StrIter_Next_t method = (CFISH_StrIter_Next_t)cfish_obj_method(self, CFISH_StrIter_Next_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Prev’:
autogen/include/Clownfish/String.h:1223:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1223 |     const CFISH_StrIter_Prev_t method = (CFISH_StrIter_Prev_t)cfish_obj_method(self, CFISH_StrIter_Prev_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Advance’:
autogen/include/Clownfish/String.h:1234:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1234 |     const CFISH_StrIter_Advance_t method = (CFISH_StrIter_Advance_t)cfish_obj_method(self, CFISH_StrIter_Advance_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Recede’:
autogen/include/Clownfish/String.h:1245:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1245 |     const CFISH_StrIter_Recede_t method = (CFISH_StrIter_Recede_t)cfish_obj_method(self, CFISH_StrIter_Recede_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace’:
autogen/include/Clownfish/String.h:1256:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1256 |     const CFISH_StrIter_Skip_Whitespace_t method = (CFISH_StrIter_Skip_Whitespace_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_OFFSET);
      |                                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace_Back’:
autogen/include/Clownfish/String.h:1267:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1267 |     const CFISH_StrIter_Skip_Whitespace_Back_t method = (CFISH_StrIter_Skip_Whitespace_Back_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_Back_OFFSET);
      |                                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With’:
autogen/include/Clownfish/String.h:1278:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1278 |     const CFISH_StrIter_Starts_With_t method = (CFISH_StrIter_Starts_With_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:1289:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1289 |     const CFISH_StrIter_Starts_With_Utf8_t method = (CFISH_StrIter_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_Utf8_OFFSET);
      |                                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With’:
autogen/include/Clownfish/String.h:1300:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1300 |     const CFISH_StrIter_Ends_With_t method = (CFISH_StrIter_Ends_With_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:1311:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1311 |     const CFISH_StrIter_Ends_With_Utf8_t method = (CFISH_StrIter_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_Utf8_OFFSET);
      |                                                   ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/TestLockFreeRegistry.c -c -o cftest/Clownfish/Test/TestLockFreeRegistry.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/TestLockFreeRegistry.h:40,
                 from cftest/Clownfish/Test/TestLockFreeRegistry.c:23:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_To_Host’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:130:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestLockFreeRegistry *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestLFReg_To_Host_t method = (TESTCFISH_TestLFReg_To_Host_t)cfish_obj_method(self, TESTCFISH_TestLFReg_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_Clone’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:137:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestLockFreeRegistry *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestLFReg_Clone_t method = (TESTCFISH_TestLFReg_Clone_t)cfish_obj_method(self, TESTCFISH_TestLFReg_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_Equals’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:144:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestLockFreeRegistry *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestLFReg_Equals_t method = (TESTCFISH_TestLFReg_Equals_t)cfish_obj_method(self, TESTCFISH_TestLFReg_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_Compare_To’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:151:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestLockFreeRegistry *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestLockFreeRegistry *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestLFReg_Compare_To_t method = (TESTCFISH_TestLFReg_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestLFReg_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_To_String’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:165:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestLockFreeRegistry *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestLFReg_To_String_t method = (TESTCFISH_TestLFReg_To_String_t)cfish_obj_method(self, TESTCFISH_TestLFReg_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_Run’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:172:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestLockFreeRegistry *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestLFReg_Run_t method = (TESTCFISH_TestLFReg_Run_t)cfish_obj_method(self, TESTCFISH_TestLFReg_Run_OFFSET);
      |                                              ^
In file included from cftest/Clownfish/Test/TestLockFreeRegistry.c:25:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
In file included from autogen/include/Clownfish/String.h:44,
                 from cftest/Clownfish/Test/TestLockFreeRegistry.c:27:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Host’:
autogen/include/Clownfish/String.h:387:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_String *, void *)’ [-Wcast-function-type]
  387 |     const CFISH_Str_To_Host_t method = (CFISH_Str_To_Host_t)cfish_obj_method(self, CFISH_Str_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Clone’:
autogen/include/Clownfish/String.h:398:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  398 |     const CFISH_Str_Clone_t method = (CFISH_Str_Clone_t)cfish_obj_method(self, CFISH_Str_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals’:
autogen/include/Clownfish/String.h:409:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  409 |     const CFISH_Str_Equals_t method = (CFISH_Str_Equals_t)cfish_obj_method(self, CFISH_Str_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Compare_To’:
autogen/include/Clownfish/String.h:420:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, cfish_Obj *)’ {aka ‘int (*)(cfish_String *, cfish_Obj *)’} [-Wcast-function-type]
  420 |     const CFISH_Str_Compare_To_t method = (CFISH_Str_Compare_To_t)cfish_obj_method(self, CFISH_Str_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_String’:
autogen/include/Clownfish/String.h:442:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  442 |     const CFISH_Str_To_String_t method = (CFISH_Str_To_String_t)cfish_obj_method(self, CFISH_Str_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat’:
autogen/include/Clownfish/String.h:453:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  453 |     const CFISH_Str_Cat_t method = (CFISH_Str_Cat_t)cfish_obj_method(self, CFISH_Str_Cat_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Utf8’:
autogen/include/Clownfish/String.h:464:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  464 |     const CFISH_Str_Cat_Utf8_t method = (CFISH_Str_Cat_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Utf8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Trusted_Utf8’:
autogen/include/Clownfish/String.h:475:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  475 |     const CFISH_Str_Cat_Trusted_Utf8_t method = (CFISH_Str_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Trusted_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_I64’:
autogen/include/Clownfish/String.h:486:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *)’ {aka ‘long int (*)(cfish_String *)’} [-Wcast-function-type]
  486 |     const CFISH_Str_To_I64_t method = (CFISH_Str_To_I64_t)cfish_obj_method(self, CFISH_Str_To_I64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_BaseX_To_I64’:
autogen/include/Clownfish/String.h:497:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *, uint32_t)’ {aka ‘long int (*)(cfish_String *, unsigned int)’} [-Wcast-function-type]
  497 |     const CFISH_Str_BaseX_To_I64_t method = (CFISH_Str_BaseX_To_I64_t)cfish_obj_method(self, CFISH_Str_BaseX_To_I64_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_F64’:
autogen/include/Clownfish/String.h:508:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_String *)’ [-Wcast-function-type]
  508 |     const CFISH_Str_To_F64_t method = (CFISH_Str_To_F64_t)cfish_obj_method(self, CFISH_Str_To_F64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With’:
autogen/include/Clownfish/String.h:519:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  519 |     const CFISH_Str_Starts_With_t method = (CFISH_Str_Starts_With_t)cfish_obj_method(self, CFISH_Str_Starts_With_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:530:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  530 |     const CFISH_Str_Starts_With_Utf8_t method = (CFISH_Str_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Starts_With_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With’:
autogen/include/Clownfish/String.h:541:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  541 |     const CFISH_Str_Ends_With_t method = (CFISH_Str_Ends_With_t)cfish_obj_method(self, CFISH_Str_Ends_With_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:552:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  552 |     const CFISH_Str_Ends_With_Utf8_t method = (CFISH_Str_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Ends_With_Utf8_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains’:
autogen/include/Clownfish/String.h:563:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  563 |     const CFISH_Str_Contains_t method = (CFISH_Str_Contains_t)cfish_obj_method(self, CFISH_Str_Contains_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains_Utf8’:
autogen/include/Clownfish/String.h:574:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  574 |     const CFISH_Str_Contains_Utf8_t method = (CFISH_Str_Contains_Utf8_t)cfish_obj_method(self, CFISH_Str_Contains_Utf8_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find’:
autogen/include/Clownfish/String.h:585:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  585 |     const CFISH_Str_Find_t method = (CFISH_Str_Find_t)cfish_obj_method(self, CFISH_Str_Find_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find_Utf8’:
autogen/include/Clownfish/String.h:596:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_StringIterator * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  596 |     const CFISH_Str_Find_Utf8_t method = (CFISH_Str_Find_Utf8_t)cfish_obj_method(self, CFISH_Str_Find_Utf8_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals_Utf8’:
autogen/include/Clownfish/String.h:607:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  607 |     const CFISH_Str_Equals_Utf8_t method = (CFISH_Str_Equals_Utf8_t)cfish_obj_method(self, CFISH_Str_Equals_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Length’:
autogen/include/Clownfish/String.h:618:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  618 |     const CFISH_Str_Length_t method = (CFISH_Str_Length_t)cfish_obj_method(self, CFISH_Str_Length_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Size’:
autogen/include/Clownfish/String.h:629:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  629 |     const CFISH_Str_Get_Size_t method = (CFISH_Str_Get_Size_t)cfish_obj_method(self, CFISH_Str_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Ptr8’:
autogen/include/Clownfish/String.h:640:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_String *)’ [-Wcast-function-type]
  640 |     const CFISH_Str_Get_Ptr8_t method = (CFISH_Str_Get_Ptr8_t)cfish_obj_method(self, CFISH_Str_Get_Ptr8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Utf8’:
autogen/include/Clownfish/String.h:651:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_String *)’ [-Wcast-function-type]
  651 |     const CFISH_Str_To_Utf8_t method = (CFISH_Str_To_Utf8_t)cfish_obj_method(self, CFISH_Str_To_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_ByteBuf’:
autogen/include/Clownfish/String.h:662:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_String *)’ [-Wcast-function-type]
  662 |     const CFISH_Str_To_ByteBuf_t method = (CFISH_Str_To_ByteBuf_t)cfish_obj_method(self, CFISH_Str_To_ByteBuf_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Is_Copy_On_IncRef’:
autogen/include/Clownfish/String.h:673:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *)’ [-Wcast-function-type]
  673 |     const CFISH_Str_Is_Copy_On_IncRef_t method = (CFISH_Str_Is_Copy_On_IncRef_t)cfish_obj_method(self, CFISH_Str_Is_Copy_On_IncRef_OFFSET);
      |                                                  ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Hash_Sum’:
autogen/include/Clownfish/String.h:684:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  684 |     const CFISH_Str_Hash_Sum_t method = (CFISH_Str_Hash_Sum_t)cfish_obj_method(self, CFISH_Str_Hash_Sum_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim’:
autogen/include/Clownfish/String.h:695:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  695 |     const CFISH_Str_Trim_t method = (CFISH_Str_Trim_t)cfish_obj_method(self, CFISH_Str_Trim_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Top’:
autogen/include/Clownfish/String.h:706:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  706 |     const CFISH_Str_Trim_Top_t method = (CFISH_Str_Trim_Top_t)cfish_obj_method(self, CFISH_Str_Trim_Top_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Tail’:
autogen/include/Clownfish/String.h:717:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  717 |     const CFISH_Str_Trim_Tail_t method = (CFISH_Str_Trim_Tail_t)cfish_obj_method(self, CFISH_Str_Trim_Tail_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_At’:
autogen/include/Clownfish/String.h:728:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  728 |     const CFISH_Str_Code_Point_At_t method = (CFISH_Str_Code_Point_At_t)cfish_obj_method(self, CFISH_Str_Code_Point_At_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_From’:
autogen/include/Clownfish/String.h:739:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  739 |     const CFISH_Str_Code_Point_From_t method = (CFISH_Str_Code_Point_From_t)cfish_obj_method(self, CFISH_Str_Code_Point_From_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_SubString’:
autogen/include/Clownfish/String.h:750:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, size_t,  size_t)’ {aka ‘cfish_String * (*)(cfish_String *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  750 |     const CFISH_Str_SubString_t method = (CFISH_Str_SubString_t)cfish_obj_method(self, CFISH_Str_SubString_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Top’:
autogen/include/Clownfish/String.h:761:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  761 |     const CFISH_Str_Top_t method = (CFISH_Str_Top_t)cfish_obj_method(self, CFISH_Str_Top_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Tail’:
autogen/include/Clownfish/String.h:772:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  772 |     const CFISH_Str_Tail_t method = (CFISH_Str_Tail_t)cfish_obj_method(self, CFISH_Str_Tail_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_Host’:
autogen/include/Clownfish/String.h:1113:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_StringIterator *, void *)’ [-Wcast-function-type]
 1113 |     const CFISH_StrIter_To_Host_t method = (CFISH_StrIter_To_Host_t)cfish_obj_method(self, CFISH_StrIter_To_Host_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Clone’:
autogen/include/Clownfish/String.h:1124:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1124 |     const CFISH_StrIter_Clone_t method = (CFISH_StrIter_Clone_t)cfish_obj_method(self, CFISH_StrIter_Clone_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Equals’:
autogen/include/Clownfish/String.h:1135:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_Obj *)’ [-Wcast-function-type]
 1135 |     const CFISH_StrIter_Equals_t method = (CFISH_StrIter_Equals_t)cfish_obj_method(self, CFISH_StrIter_Equals_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Compare_To’:
autogen/include/Clownfish/String.h:1146:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_StringIterator *, cfish_Obj *)’} [-Wcast-function-type]
 1146 |     const CFISH_StrIter_Compare_To_t method = (CFISH_StrIter_Compare_To_t)cfish_obj_method(self, CFISH_StrIter_Compare_To_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_String’:
autogen/include/Clownfish/String.h:1168:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1168 |     const CFISH_StrIter_To_String_t method = (CFISH_StrIter_To_String_t)cfish_obj_method(self, CFISH_StrIter_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Assign’:
autogen/include/Clownfish/String.h:1179:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_StringIterator *, cfish_StringIterator *)’ [-Wcast-function-type]
 1179 |     const CFISH_StrIter_Assign_t method = (CFISH_StrIter_Assign_t)cfish_obj_method(self, CFISH_StrIter_Assign_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Next’:
autogen/include/Clownfish/String.h:1190:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1190 |     const CFISH_StrIter_Has_Next_t method = (CFISH_StrIter_Has_Next_t)cfish_obj_method(self, CFISH_StrIter_Has_Next_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Prev’:
autogen/include/Clownfish/String.h:1201:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1201 |     const CFISH_StrIter_Has_Prev_t method = (CFISH_StrIter_Has_Prev_t)cfish_obj_method(self, CFISH_StrIter_Has_Prev_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Next’:
autogen/include/Clownfish/String.h:1212:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1212 |     const CFISH_StrIter_Next_t method = (CFISH_StrIter_Next_t)cfish_obj_method(self, CFISH_StrIter_Next_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Prev’:
autogen/include/Clownfish/String.h:1223:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1223 |     const CFISH_StrIter_Prev_t method = (CFISH_StrIter_Prev_t)cfish_obj_method(self, CFISH_StrIter_Prev_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Advance’:
autogen/include/Clownfish/String.h:1234:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1234 |     const CFISH_StrIter_Advance_t method = (CFISH_StrIter_Advance_t)cfish_obj_method(self, CFISH_StrIter_Advance_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Recede’:
autogen/include/Clownfish/String.h:1245:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1245 |     const CFISH_StrIter_Recede_t method = (CFISH_StrIter_Recede_t)cfish_obj_method(self, CFISH_StrIter_Recede_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace’:
autogen/include/Clownfish/String.h:1256:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1256 |     const CFISH_StrIter_Skip_Whitespace_t method = (CFISH_StrIter_Skip_Whitespace_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_OFFSET);
      |                                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace_Back’:
autogen/include/Clownfish/String.h:1267:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1267 |     const CFISH_StrIter_Skip_Whitespace_Back_t method = (CFISH_StrIter_Skip_Whitespace_Back_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_Back_OFFSET);
      |                                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With’:
autogen/include/Clownfish/String.h:1278:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1278 |     const CFISH_StrIter_Starts_With_t method = (CFISH_StrIter_Starts_With_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:1289:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1289 |     const CFISH_StrIter_Starts_With_Utf8_t method = (CFISH_StrIter_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_Utf8_OFFSET);
      |                                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With’:
autogen/include/Clownfish/String.h:1300:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1300 |     const CFISH_StrIter_Ends_With_t method = (CFISH_StrIter_Ends_With_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:1311:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1311 |     const CFISH_StrIter_Ends_With_Utf8_t method = (CFISH_StrIter_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_Utf8_OFFSET);
      |                                                   ^
In file included from cftest/Clownfish/Test/TestLockFreeRegistry.c:29:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/TestMethod.c -c -o cftest/Clownfish/Test/TestMethod.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/TestMethod.h:40,
                 from cftest/Clownfish/Test/TestMethod.c:20:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_To_Host’:
autogen/include/Clownfish/Test/TestMethod.h:130:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestMethod *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestMethod_To_Host_t method = (TESTCFISH_TestMethod_To_Host_t)cfish_obj_method(self, TESTCFISH_TestMethod_To_Host_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_Clone’:
autogen/include/Clownfish/Test/TestMethod.h:137:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestMethod *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestMethod_Clone_t method = (TESTCFISH_TestMethod_Clone_t)cfish_obj_method(self, TESTCFISH_TestMethod_Clone_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_Equals’:
autogen/include/Clownfish/Test/TestMethod.h:144:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestMethod *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestMethod_Equals_t method = (TESTCFISH_TestMethod_Equals_t)cfish_obj_method(self, TESTCFISH_TestMethod_Equals_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_Compare_To’:
autogen/include/Clownfish/Test/TestMethod.h:151:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestMethod *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestMethod *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestMethod_Compare_To_t method = (TESTCFISH_TestMethod_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestMethod_Compare_To_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_To_String’:
autogen/include/Clownfish/Test/TestMethod.h:165:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestMethod *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestMethod_To_String_t method = (TESTCFISH_TestMethod_To_String_t)cfish_obj_method(self, TESTCFISH_TestMethod_To_String_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_Run’:
autogen/include/Clownfish/Test/TestMethod.h:172:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestMethod *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestMethod_Run_t method = (TESTCFISH_TestMethod_Run_t)cfish_obj_method(self, TESTCFISH_TestMethod_Run_OFFSET);
      |                                               ^
In file included from cftest/Clownfish/Test/TestMethod.c:22:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
In file included from cftest/Clownfish/Test/TestMethod.c:23:
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_To_Host’:
autogen/include/Clownfish/Method.h:177:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Method *, void *)’ [-Wcast-function-type]
  177 |     const CFISH_Method_To_Host_t method = (CFISH_Method_To_Host_t)cfish_obj_method(self, CFISH_Method_To_Host_OFFSET);
      |                                           ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_Clone’:
autogen/include/Clownfish/Method.h:188:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Method *)’ [-Wcast-function-type]
  188 |     const CFISH_Method_Clone_t method = (CFISH_Method_Clone_t)cfish_obj_method(self, CFISH_Method_Clone_OFFSET);
      |                                         ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_Equals’:
autogen/include/Clownfish/Method.h:199:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Method *, cfish_Obj *)’ [-Wcast-function-type]
  199 |     const CFISH_Method_Equals_t method = (CFISH_Method_Equals_t)cfish_obj_method(self, CFISH_Method_Equals_OFFSET);
      |                                          ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_Compare_To’:
autogen/include/Clownfish/Method.h:210:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Method *, cfish_Obj *)’ {aka ‘int (*)(cfish_Method *, cfish_Obj *)’} [-Wcast-function-type]
  210 |     const CFISH_Method_Compare_To_t method = (CFISH_Method_Compare_To_t)cfish_obj_method(self, CFISH_Method_Compare_To_OFFSET);
      |                                              ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_To_String’:
autogen/include/Clownfish/Method.h:232:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Method *)’ [-Wcast-function-type]
  232 |     const CFISH_Method_To_String_t method = (CFISH_Method_To_String_t)cfish_obj_method(self, CFISH_Method_To_String_OFFSET);
      |                                             ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_Get_Name’:
autogen/include/Clownfish/Method.h:243:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Method *)’ [-Wcast-function-type]
  243 |     const CFISH_Method_Get_Name_t method = (CFISH_Method_Get_Name_t)cfish_obj_method(self, CFISH_Method_Get_Name_OFFSET);
      |                                            ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_Set_Host_Alias’:
autogen/include/Clownfish/Method.h:254:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Method *, cfish_String *)’ [-Wcast-function-type]
  254 |     const CFISH_Method_Set_Host_Alias_t method = (CFISH_Method_Set_Host_Alias_t)cfish_obj_method(self, CFISH_Method_Set_Host_Alias_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_Get_Host_Alias’:
autogen/include/Clownfish/Method.h:265:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Method *)’ [-Wcast-function-type]
  265 |     const CFISH_Method_Get_Host_Alias_t method = (CFISH_Method_Get_Host_Alias_t)cfish_obj_method(self, CFISH_Method_Get_Host_Alias_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_Is_Excluded_From_Host’:
autogen/include/Clownfish/Method.h:276:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Method *)’ [-Wcast-function-type]
  276 |     const CFISH_Method_Is_Excluded_From_Host_t method = (CFISH_Method_Is_Excluded_From_Host_t)cfish_obj_method(self, CFISH_Method_Is_Excluded_From_Host_OFFSET);
      |                                                         ^
autogen/include/Clownfish/Method.h: In function ‘CFISH_Method_Host_Name’:
autogen/include/Clownfish/Method.h:287:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Method *)’ [-Wcast-function-type]
  287 |     const CFISH_Method_Host_Name_t method = (CFISH_Method_Host_Name_t)cfish_obj_method(self, CFISH_Method_Host_Name_OFFSET);
      |                                             ^
In file included from autogen/include/Clownfish/String.h:41,
                 from cftest/Clownfish/Test/TestMethod.c:24:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Host’:
autogen/include/Clownfish/String.h:387:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_String *, void *)’ [-Wcast-function-type]
  387 |     const CFISH_Str_To_Host_t method = (CFISH_Str_To_Host_t)cfish_obj_method(self, CFISH_Str_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Clone’:
autogen/include/Clownfish/String.h:398:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  398 |     const CFISH_Str_Clone_t method = (CFISH_Str_Clone_t)cfish_obj_method(self, CFISH_Str_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals’:
autogen/include/Clownfish/String.h:409:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  409 |     const CFISH_Str_Equals_t method = (CFISH_Str_Equals_t)cfish_obj_method(self, CFISH_Str_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Compare_To’:
autogen/include/Clownfish/String.h:420:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, cfish_Obj *)’ {aka ‘int (*)(cfish_String *, cfish_Obj *)’} [-Wcast-function-type]
  420 |     const CFISH_Str_Compare_To_t method = (CFISH_Str_Compare_To_t)cfish_obj_method(self, CFISH_Str_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_String’:
autogen/include/Clownfish/String.h:442:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  442 |     const CFISH_Str_To_String_t method = (CFISH_Str_To_String_t)cfish_obj_method(self, CFISH_Str_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat’:
autogen/include/Clownfish/String.h:453:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  453 |     const CFISH_Str_Cat_t method = (CFISH_Str_Cat_t)cfish_obj_method(self, CFISH_Str_Cat_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Utf8’:
autogen/include/Clownfish/String.h:464:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  464 |     const CFISH_Str_Cat_Utf8_t method = (CFISH_Str_Cat_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Utf8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Trusted_Utf8’:
autogen/include/Clownfish/String.h:475:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  475 |     const CFISH_Str_Cat_Trusted_Utf8_t method = (CFISH_Str_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Trusted_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_I64’:
autogen/include/Clownfish/String.h:486:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *)’ {aka ‘long int (*)(cfish_String *)’} [-Wcast-function-type]
  486 |     const CFISH_Str_To_I64_t method = (CFISH_Str_To_I64_t)cfish_obj_method(self, CFISH_Str_To_I64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_BaseX_To_I64’:
autogen/include/Clownfish/String.h:497:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *, uint32_t)’ {aka ‘long int (*)(cfish_String *, unsigned int)’} [-Wcast-function-type]
  497 |     const CFISH_Str_BaseX_To_I64_t method = (CFISH_Str_BaseX_To_I64_t)cfish_obj_method(self, CFISH_Str_BaseX_To_I64_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_F64’:
autogen/include/Clownfish/String.h:508:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_String *)’ [-Wcast-function-type]
  508 |     const CFISH_Str_To_F64_t method = (CFISH_Str_To_F64_t)cfish_obj_method(self, CFISH_Str_To_F64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With’:
autogen/include/Clownfish/String.h:519:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  519 |     const CFISH_Str_Starts_With_t method = (CFISH_Str_Starts_With_t)cfish_obj_method(self, CFISH_Str_Starts_With_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:530:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  530 |     const CFISH_Str_Starts_With_Utf8_t method = (CFISH_Str_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Starts_With_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With’:
autogen/include/Clownfish/String.h:541:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  541 |     const CFISH_Str_Ends_With_t method = (CFISH_Str_Ends_With_t)cfish_obj_method(self, CFISH_Str_Ends_With_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:552:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  552 |     const CFISH_Str_Ends_With_Utf8_t method = (CFISH_Str_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Ends_With_Utf8_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains’:
autogen/include/Clownfish/String.h:563:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  563 |     const CFISH_Str_Contains_t method = (CFISH_Str_Contains_t)cfish_obj_method(self, CFISH_Str_Contains_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains_Utf8’:
autogen/include/Clownfish/String.h:574:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  574 |     const CFISH_Str_Contains_Utf8_t method = (CFISH_Str_Contains_Utf8_t)cfish_obj_method(self, CFISH_Str_Contains_Utf8_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find’:
autogen/include/Clownfish/String.h:585:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  585 |     const CFISH_Str_Find_t method = (CFISH_Str_Find_t)cfish_obj_method(self, CFISH_Str_Find_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find_Utf8’:
autogen/include/Clownfish/String.h:596:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_StringIterator * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  596 |     const CFISH_Str_Find_Utf8_t method = (CFISH_Str_Find_Utf8_t)cfish_obj_method(self, CFISH_Str_Find_Utf8_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals_Utf8’:
autogen/include/Clownfish/String.h:607:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  607 |     const CFISH_Str_Equals_Utf8_t method = (CFISH_Str_Equals_Utf8_t)cfish_obj_method(self, CFISH_Str_Equals_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Length’:
autogen/include/Clownfish/String.h:618:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  618 |     const CFISH_Str_Length_t method = (CFISH_Str_Length_t)cfish_obj_method(self, CFISH_Str_Length_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Size’:
autogen/include/Clownfish/String.h:629:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  629 |     const CFISH_Str_Get_Size_t method = (CFISH_Str_Get_Size_t)cfish_obj_method(self, CFISH_Str_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Ptr8’:
autogen/include/Clownfish/String.h:640:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_String *)’ [-Wcast-function-type]
  640 |     const CFISH_Str_Get_Ptr8_t method = (CFISH_Str_Get_Ptr8_t)cfish_obj_method(self, CFISH_Str_Get_Ptr8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Utf8’:
autogen/include/Clownfish/String.h:651:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_String *)’ [-Wcast-function-type]
  651 |     const CFISH_Str_To_Utf8_t method = (CFISH_Str_To_Utf8_t)cfish_obj_method(self, CFISH_Str_To_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_ByteBuf’:
autogen/include/Clownfish/String.h:662:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_String *)’ [-Wcast-function-type]
  662 |     const CFISH_Str_To_ByteBuf_t method = (CFISH_Str_To_ByteBuf_t)cfish_obj_method(self, CFISH_Str_To_ByteBuf_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Is_Copy_On_IncRef’:
autogen/include/Clownfish/String.h:673:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *)’ [-Wcast-function-type]
  673 |     const CFISH_Str_Is_Copy_On_IncRef_t method = (CFISH_Str_Is_Copy_On_IncRef_t)cfish_obj_method(self, CFISH_Str_Is_Copy_On_IncRef_OFFSET);
      |                                                  ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Hash_Sum’:
autogen/include/Clownfish/String.h:684:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  684 |     const CFISH_Str_Hash_Sum_t method = (CFISH_Str_Hash_Sum_t)cfish_obj_method(self, CFISH_Str_Hash_Sum_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim’:
autogen/include/Clownfish/String.h:695:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  695 |     const CFISH_Str_Trim_t method = (CFISH_Str_Trim_t)cfish_obj_method(self, CFISH_Str_Trim_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Top’:
autogen/include/Clownfish/String.h:706:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  706 |     const CFISH_Str_Trim_Top_t method = (CFISH_Str_Trim_Top_t)cfish_obj_method(self, CFISH_Str_Trim_Top_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Tail’:
autogen/include/Clownfish/String.h:717:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  717 |     const CFISH_Str_Trim_Tail_t method = (CFISH_Str_Trim_Tail_t)cfish_obj_method(self, CFISH_Str_Trim_Tail_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_At’:
autogen/include/Clownfish/String.h:728:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  728 |     const CFISH_Str_Code_Point_At_t method = (CFISH_Str_Code_Point_At_t)cfish_obj_method(self, CFISH_Str_Code_Point_At_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_From’:
autogen/include/Clownfish/String.h:739:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  739 |     const CFISH_Str_Code_Point_From_t method = (CFISH_Str_Code_Point_From_t)cfish_obj_method(self, CFISH_Str_Code_Point_From_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_SubString’:
autogen/include/Clownfish/String.h:750:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, size_t,  size_t)’ {aka ‘cfish_String * (*)(cfish_String *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  750 |     const CFISH_Str_SubString_t method = (CFISH_Str_SubString_t)cfish_obj_method(self, CFISH_Str_SubString_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Top’:
autogen/include/Clownfish/String.h:761:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  761 |     const CFISH_Str_Top_t method = (CFISH_Str_Top_t)cfish_obj_method(self, CFISH_Str_Top_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Tail’:
autogen/include/Clownfish/String.h:772:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  772 |     const CFISH_Str_Tail_t method = (CFISH_Str_Tail_t)cfish_obj_method(self, CFISH_Str_Tail_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_Host’:
autogen/include/Clownfish/String.h:1113:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_StringIterator *, void *)’ [-Wcast-function-type]
 1113 |     const CFISH_StrIter_To_Host_t method = (CFISH_StrIter_To_Host_t)cfish_obj_method(self, CFISH_StrIter_To_Host_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Clone’:
autogen/include/Clownfish/String.h:1124:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1124 |     const CFISH_StrIter_Clone_t method = (CFISH_StrIter_Clone_t)cfish_obj_method(self, CFISH_StrIter_Clone_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Equals’:
autogen/include/Clownfish/String.h:1135:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_Obj *)’ [-Wcast-function-type]
 1135 |     const CFISH_StrIter_Equals_t method = (CFISH_StrIter_Equals_t)cfish_obj_method(self, CFISH_StrIter_Equals_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Compare_To’:
autogen/include/Clownfish/String.h:1146:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_StringIterator *, cfish_Obj *)’} [-Wcast-function-type]
 1146 |     const CFISH_StrIter_Compare_To_t method = (CFISH_StrIter_Compare_To_t)cfish_obj_method(self, CFISH_StrIter_Compare_To_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_String’:
autogen/include/Clownfish/String.h:1168:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1168 |     const CFISH_StrIter_To_String_t method = (CFISH_StrIter_To_String_t)cfish_obj_method(self, CFISH_StrIter_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Assign’:
autogen/include/Clownfish/String.h:1179:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_StringIterator *, cfish_StringIterator *)’ [-Wcast-function-type]
 1179 |     const CFISH_StrIter_Assign_t method = (CFISH_StrIter_Assign_t)cfish_obj_method(self, CFISH_StrIter_Assign_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Next’:
autogen/include/Clownfish/String.h:1190:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1190 |     const CFISH_StrIter_Has_Next_t method = (CFISH_StrIter_Has_Next_t)cfish_obj_method(self, CFISH_StrIter_Has_Next_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Prev’:
autogen/include/Clownfish/String.h:1201:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1201 |     const CFISH_StrIter_Has_Prev_t method = (CFISH_StrIter_Has_Prev_t)cfish_obj_method(self, CFISH_StrIter_Has_Prev_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Next’:
autogen/include/Clownfish/String.h:1212:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1212 |     const CFISH_StrIter_Next_t method = (CFISH_StrIter_Next_t)cfish_obj_method(self, CFISH_StrIter_Next_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Prev’:
autogen/include/Clownfish/String.h:1223:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1223 |     const CFISH_StrIter_Prev_t method = (CFISH_StrIter_Prev_t)cfish_obj_method(self, CFISH_StrIter_Prev_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Advance’:
autogen/include/Clownfish/String.h:1234:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1234 |     const CFISH_StrIter_Advance_t method = (CFISH_StrIter_Advance_t)cfish_obj_method(self, CFISH_StrIter_Advance_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Recede’:
autogen/include/Clownfish/String.h:1245:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1245 |     const CFISH_StrIter_Recede_t method = (CFISH_StrIter_Recede_t)cfish_obj_method(self, CFISH_StrIter_Recede_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace’:
autogen/include/Clownfish/String.h:1256:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1256 |     const CFISH_StrIter_Skip_Whitespace_t method = (CFISH_StrIter_Skip_Whitespace_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_OFFSET);
      |                                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace_Back’:
autogen/include/Clownfish/String.h:1267:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1267 |     const CFISH_StrIter_Skip_Whitespace_Back_t method = (CFISH_StrIter_Skip_Whitespace_Back_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_Back_OFFSET);
      |                                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With’:
autogen/include/Clownfish/String.h:1278:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1278 |     const CFISH_StrIter_Starts_With_t method = (CFISH_StrIter_Starts_With_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:1289:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1289 |     const CFISH_StrIter_Starts_With_Utf8_t method = (CFISH_StrIter_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_Utf8_OFFSET);
      |                                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With’:
autogen/include/Clownfish/String.h:1300:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1300 |     const CFISH_StrIter_Ends_With_t method = (CFISH_StrIter_Ends_With_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:1311:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1311 |     const CFISH_StrIter_Ends_With_Utf8_t method = (CFISH_StrIter_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_Utf8_OFFSET);
      |                                                   ^
In file included from cftest/Clownfish/Test/TestMethod.c:25:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/TestNum.c -c -o cftest/Clownfish/Test/TestNum.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/TestNum.h:40,
                 from cftest/Clownfish/Test/TestNum.c:24:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_To_Host’:
autogen/include/Clownfish/Test/TestNum.h:130:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestNum *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestNum_To_Host_t method = (TESTCFISH_TestNum_To_Host_t)cfish_obj_method(self, TESTCFISH_TestNum_To_Host_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_Clone’:
autogen/include/Clownfish/Test/TestNum.h:137:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestNum *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestNum_Clone_t method = (TESTCFISH_TestNum_Clone_t)cfish_obj_method(self, TESTCFISH_TestNum_Clone_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_Equals’:
autogen/include/Clownfish/Test/TestNum.h:144:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestNum *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestNum_Equals_t method = (TESTCFISH_TestNum_Equals_t)cfish_obj_method(self, TESTCFISH_TestNum_Equals_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_Compare_To’:
autogen/include/Clownfish/Test/TestNum.h:151:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestNum *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestNum *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestNum_Compare_To_t method = (TESTCFISH_TestNum_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestNum_Compare_To_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_To_String’:
autogen/include/Clownfish/Test/TestNum.h:165:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestNum *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestNum_To_String_t method = (TESTCFISH_TestNum_To_String_t)cfish_obj_method(self, TESTCFISH_TestNum_To_String_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_Run’:
autogen/include/Clownfish/Test/TestNum.h:172:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestNum *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestNum_Run_t method = (TESTCFISH_TestNum_Run_t)cfish_obj_method(self, TESTCFISH_TestNum_Run_OFFSET);
      |                                            ^
In file included from cftest/Clownfish/Test/TestNum.c:26:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
In file included from autogen/include/Clownfish/String.h:41,
                 from cftest/Clownfish/Test/TestNum.c:27:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Host’:
autogen/include/Clownfish/String.h:387:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_String *, void *)’ [-Wcast-function-type]
  387 |     const CFISH_Str_To_Host_t method = (CFISH_Str_To_Host_t)cfish_obj_method(self, CFISH_Str_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Clone’:
autogen/include/Clownfish/String.h:398:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  398 |     const CFISH_Str_Clone_t method = (CFISH_Str_Clone_t)cfish_obj_method(self, CFISH_Str_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals’:
autogen/include/Clownfish/String.h:409:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  409 |     const CFISH_Str_Equals_t method = (CFISH_Str_Equals_t)cfish_obj_method(self, CFISH_Str_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Compare_To’:
autogen/include/Clownfish/String.h:420:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, cfish_Obj *)’ {aka ‘int (*)(cfish_String *, cfish_Obj *)’} [-Wcast-function-type]
  420 |     const CFISH_Str_Compare_To_t method = (CFISH_Str_Compare_To_t)cfish_obj_method(self, CFISH_Str_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_String’:
autogen/include/Clownfish/String.h:442:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  442 |     const CFISH_Str_To_String_t method = (CFISH_Str_To_String_t)cfish_obj_method(self, CFISH_Str_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat’:
autogen/include/Clownfish/String.h:453:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  453 |     const CFISH_Str_Cat_t method = (CFISH_Str_Cat_t)cfish_obj_method(self, CFISH_Str_Cat_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Utf8’:
autogen/include/Clownfish/String.h:464:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  464 |     const CFISH_Str_Cat_Utf8_t method = (CFISH_Str_Cat_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Utf8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Trusted_Utf8’:
autogen/include/Clownfish/String.h:475:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  475 |     const CFISH_Str_Cat_Trusted_Utf8_t method = (CFISH_Str_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Trusted_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_I64’:
autogen/include/Clownfish/String.h:486:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *)’ {aka ‘long int (*)(cfish_String *)’} [-Wcast-function-type]
  486 |     const CFISH_Str_To_I64_t method = (CFISH_Str_To_I64_t)cfish_obj_method(self, CFISH_Str_To_I64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_BaseX_To_I64’:
autogen/include/Clownfish/String.h:497:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *, uint32_t)’ {aka ‘long int (*)(cfish_String *, unsigned int)’} [-Wcast-function-type]
  497 |     const CFISH_Str_BaseX_To_I64_t method = (CFISH_Str_BaseX_To_I64_t)cfish_obj_method(self, CFISH_Str_BaseX_To_I64_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_F64’:
autogen/include/Clownfish/String.h:508:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_String *)’ [-Wcast-function-type]
  508 |     const CFISH_Str_To_F64_t method = (CFISH_Str_To_F64_t)cfish_obj_method(self, CFISH_Str_To_F64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With’:
autogen/include/Clownfish/String.h:519:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  519 |     const CFISH_Str_Starts_With_t method = (CFISH_Str_Starts_With_t)cfish_obj_method(self, CFISH_Str_Starts_With_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:530:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  530 |     const CFISH_Str_Starts_With_Utf8_t method = (CFISH_Str_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Starts_With_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With’:
autogen/include/Clownfish/String.h:541:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  541 |     const CFISH_Str_Ends_With_t method = (CFISH_Str_Ends_With_t)cfish_obj_method(self, CFISH_Str_Ends_With_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:552:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  552 |     const CFISH_Str_Ends_With_Utf8_t method = (CFISH_Str_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Ends_With_Utf8_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains’:
autogen/include/Clownfish/String.h:563:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  563 |     const CFISH_Str_Contains_t method = (CFISH_Str_Contains_t)cfish_obj_method(self, CFISH_Str_Contains_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains_Utf8’:
autogen/include/Clownfish/String.h:574:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  574 |     const CFISH_Str_Contains_Utf8_t method = (CFISH_Str_Contains_Utf8_t)cfish_obj_method(self, CFISH_Str_Contains_Utf8_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find’:
autogen/include/Clownfish/String.h:585:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  585 |     const CFISH_Str_Find_t method = (CFISH_Str_Find_t)cfish_obj_method(self, CFISH_Str_Find_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find_Utf8’:
autogen/include/Clownfish/String.h:596:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_StringIterator * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  596 |     const CFISH_Str_Find_Utf8_t method = (CFISH_Str_Find_Utf8_t)cfish_obj_method(self, CFISH_Str_Find_Utf8_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals_Utf8’:
autogen/include/Clownfish/String.h:607:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  607 |     const CFISH_Str_Equals_Utf8_t method = (CFISH_Str_Equals_Utf8_t)cfish_obj_method(self, CFISH_Str_Equals_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Length’:
autogen/include/Clownfish/String.h:618:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  618 |     const CFISH_Str_Length_t method = (CFISH_Str_Length_t)cfish_obj_method(self, CFISH_Str_Length_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Size’:
autogen/include/Clownfish/String.h:629:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  629 |     const CFISH_Str_Get_Size_t method = (CFISH_Str_Get_Size_t)cfish_obj_method(self, CFISH_Str_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Ptr8’:
autogen/include/Clownfish/String.h:640:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_String *)’ [-Wcast-function-type]
  640 |     const CFISH_Str_Get_Ptr8_t method = (CFISH_Str_Get_Ptr8_t)cfish_obj_method(self, CFISH_Str_Get_Ptr8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Utf8’:
autogen/include/Clownfish/String.h:651:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_String *)’ [-Wcast-function-type]
  651 |     const CFISH_Str_To_Utf8_t method = (CFISH_Str_To_Utf8_t)cfish_obj_method(self, CFISH_Str_To_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_ByteBuf’:
autogen/include/Clownfish/String.h:662:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_String *)’ [-Wcast-function-type]
  662 |     const CFISH_Str_To_ByteBuf_t method = (CFISH_Str_To_ByteBuf_t)cfish_obj_method(self, CFISH_Str_To_ByteBuf_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Is_Copy_On_IncRef’:
autogen/include/Clownfish/String.h:673:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *)’ [-Wcast-function-type]
  673 |     const CFISH_Str_Is_Copy_On_IncRef_t method = (CFISH_Str_Is_Copy_On_IncRef_t)cfish_obj_method(self, CFISH_Str_Is_Copy_On_IncRef_OFFSET);
      |                                                  ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Hash_Sum’:
autogen/include/Clownfish/String.h:684:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  684 |     const CFISH_Str_Hash_Sum_t method = (CFISH_Str_Hash_Sum_t)cfish_obj_method(self, CFISH_Str_Hash_Sum_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim’:
autogen/include/Clownfish/String.h:695:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  695 |     const CFISH_Str_Trim_t method = (CFISH_Str_Trim_t)cfish_obj_method(self, CFISH_Str_Trim_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Top’:
autogen/include/Clownfish/String.h:706:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  706 |     const CFISH_Str_Trim_Top_t method = (CFISH_Str_Trim_Top_t)cfish_obj_method(self, CFISH_Str_Trim_Top_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Tail’:
autogen/include/Clownfish/String.h:717:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  717 |     const CFISH_Str_Trim_Tail_t method = (CFISH_Str_Trim_Tail_t)cfish_obj_method(self, CFISH_Str_Trim_Tail_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_At’:
autogen/include/Clownfish/String.h:728:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  728 |     const CFISH_Str_Code_Point_At_t method = (CFISH_Str_Code_Point_At_t)cfish_obj_method(self, CFISH_Str_Code_Point_At_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_From’:
autogen/include/Clownfish/String.h:739:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  739 |     const CFISH_Str_Code_Point_From_t method = (CFISH_Str_Code_Point_From_t)cfish_obj_method(self, CFISH_Str_Code_Point_From_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_SubString’:
autogen/include/Clownfish/String.h:750:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, size_t,  size_t)’ {aka ‘cfish_String * (*)(cfish_String *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  750 |     const CFISH_Str_SubString_t method = (CFISH_Str_SubString_t)cfish_obj_method(self, CFISH_Str_SubString_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Top’:
autogen/include/Clownfish/String.h:761:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  761 |     const CFISH_Str_Top_t method = (CFISH_Str_Top_t)cfish_obj_method(self, CFISH_Str_Top_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Tail’:
autogen/include/Clownfish/String.h:772:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  772 |     const CFISH_Str_Tail_t method = (CFISH_Str_Tail_t)cfish_obj_method(self, CFISH_Str_Tail_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_Host’:
autogen/include/Clownfish/String.h:1113:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_StringIterator *, void *)’ [-Wcast-function-type]
 1113 |     const CFISH_StrIter_To_Host_t method = (CFISH_StrIter_To_Host_t)cfish_obj_method(self, CFISH_StrIter_To_Host_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Clone’:
autogen/include/Clownfish/String.h:1124:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1124 |     const CFISH_StrIter_Clone_t method = (CFISH_StrIter_Clone_t)cfish_obj_method(self, CFISH_StrIter_Clone_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Equals’:
autogen/include/Clownfish/String.h:1135:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_Obj *)’ [-Wcast-function-type]
 1135 |     const CFISH_StrIter_Equals_t method = (CFISH_StrIter_Equals_t)cfish_obj_method(self, CFISH_StrIter_Equals_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Compare_To’:
autogen/include/Clownfish/String.h:1146:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_StringIterator *, cfish_Obj *)’} [-Wcast-function-type]
 1146 |     const CFISH_StrIter_Compare_To_t method = (CFISH_StrIter_Compare_To_t)cfish_obj_method(self, CFISH_StrIter_Compare_To_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_String’:
autogen/include/Clownfish/String.h:1168:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1168 |     const CFISH_StrIter_To_String_t method = (CFISH_StrIter_To_String_t)cfish_obj_method(self, CFISH_StrIter_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Assign’:
autogen/include/Clownfish/String.h:1179:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_StringIterator *, cfish_StringIterator *)’ [-Wcast-function-type]
 1179 |     const CFISH_StrIter_Assign_t method = (CFISH_StrIter_Assign_t)cfish_obj_method(self, CFISH_StrIter_Assign_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Next’:
autogen/include/Clownfish/String.h:1190:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1190 |     const CFISH_StrIter_Has_Next_t method = (CFISH_StrIter_Has_Next_t)cfish_obj_method(self, CFISH_StrIter_Has_Next_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Prev’:
autogen/include/Clownfish/String.h:1201:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1201 |     const CFISH_StrIter_Has_Prev_t method = (CFISH_StrIter_Has_Prev_t)cfish_obj_method(self, CFISH_StrIter_Has_Prev_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Next’:
autogen/include/Clownfish/String.h:1212:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1212 |     const CFISH_StrIter_Next_t method = (CFISH_StrIter_Next_t)cfish_obj_method(self, CFISH_StrIter_Next_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Prev’:
autogen/include/Clownfish/String.h:1223:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1223 |     const CFISH_StrIter_Prev_t method = (CFISH_StrIter_Prev_t)cfish_obj_method(self, CFISH_StrIter_Prev_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Advance’:
autogen/include/Clownfish/String.h:1234:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1234 |     const CFISH_StrIter_Advance_t method = (CFISH_StrIter_Advance_t)cfish_obj_method(self, CFISH_StrIter_Advance_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Recede’:
autogen/include/Clownfish/String.h:1245:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1245 |     const CFISH_StrIter_Recede_t method = (CFISH_StrIter_Recede_t)cfish_obj_method(self, CFISH_StrIter_Recede_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace’:
autogen/include/Clownfish/String.h:1256:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1256 |     const CFISH_StrIter_Skip_Whitespace_t method = (CFISH_StrIter_Skip_Whitespace_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_OFFSET);
      |                                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace_Back’:
autogen/include/Clownfish/String.h:1267:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1267 |     const CFISH_StrIter_Skip_Whitespace_Back_t method = (CFISH_StrIter_Skip_Whitespace_Back_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_Back_OFFSET);
      |                                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With’:
autogen/include/Clownfish/String.h:1278:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1278 |     const CFISH_StrIter_Starts_With_t method = (CFISH_StrIter_Starts_With_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:1289:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1289 |     const CFISH_StrIter_Starts_With_Utf8_t method = (CFISH_StrIter_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_Utf8_OFFSET);
      |                                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With’:
autogen/include/Clownfish/String.h:1300:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1300 |     const CFISH_StrIter_Ends_With_t method = (CFISH_StrIter_Ends_With_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:1311:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1311 |     const CFISH_StrIter_Ends_With_Utf8_t method = (CFISH_StrIter_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_Utf8_OFFSET);
      |                                                   ^
In file included from cftest/Clownfish/Test/TestNum.c:28:
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_To_Host’:
autogen/include/Clownfish/Num.h:162:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Float *, void *)’ [-Wcast-function-type]
  162 |     const CFISH_Float_To_Host_t method = (CFISH_Float_To_Host_t)cfish_obj_method(self, CFISH_Float_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_Clone’:
autogen/include/Clownfish/Num.h:173:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Float * (*)(cfish_Float *)’ [-Wcast-function-type]
  173 |     const CFISH_Float_Clone_t method = (CFISH_Float_Clone_t)cfish_obj_method(self, CFISH_Float_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_Equals’:
autogen/include/Clownfish/Num.h:184:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Float *, cfish_Obj *)’ [-Wcast-function-type]
  184 |     const CFISH_Float_Equals_t method = (CFISH_Float_Equals_t)cfish_obj_method(self, CFISH_Float_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_Compare_To’:
autogen/include/Clownfish/Num.h:195:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Float *, cfish_Obj *)’ {aka ‘int (*)(cfish_Float *, cfish_Obj *)’} [-Wcast-function-type]
  195 |     const CFISH_Float_Compare_To_t method = (CFISH_Float_Compare_To_t)cfish_obj_method(self, CFISH_Float_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_To_String’:
autogen/include/Clownfish/Num.h:217:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Float *)’ [-Wcast-function-type]
  217 |     const CFISH_Float_To_String_t method = (CFISH_Float_To_String_t)cfish_obj_method(self, CFISH_Float_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_Get_Value’:
autogen/include/Clownfish/Num.h:228:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_Float *)’ [-Wcast-function-type]
  228 |     const CFISH_Float_Get_Value_t method = (CFISH_Float_Get_Value_t)cfish_obj_method(self, CFISH_Float_Get_Value_OFFSET);
      |                                            ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_To_I64’:
autogen/include/Clownfish/Num.h:239:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_Float *)’ {aka ‘long int (*)(cfish_Float *)’} [-Wcast-function-type]
  239 |     const CFISH_Float_To_I64_t method = (CFISH_Float_To_I64_t)cfish_obj_method(self, CFISH_Float_To_I64_OFFSET);
      |                                         ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_To_Host’:
autogen/include/Clownfish/Num.h:417:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Integer *, void *)’ [-Wcast-function-type]
  417 |     const CFISH_Int_To_Host_t method = (CFISH_Int_To_Host_t)cfish_obj_method(self, CFISH_Int_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_Clone’:
autogen/include/Clownfish/Num.h:428:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Integer * (*)(cfish_Integer *)’ [-Wcast-function-type]
  428 |     const CFISH_Int_Clone_t method = (CFISH_Int_Clone_t)cfish_obj_method(self, CFISH_Int_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_Equals’:
autogen/include/Clownfish/Num.h:439:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Integer *, cfish_Obj *)’ [-Wcast-function-type]
  439 |     const CFISH_Int_Equals_t method = (CFISH_Int_Equals_t)cfish_obj_method(self, CFISH_Int_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_Compare_To’:
autogen/include/Clownfish/Num.h:450:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Integer *, cfish_Obj *)’ {aka ‘int (*)(cfish_Integer *, cfish_Obj *)’} [-Wcast-function-type]
  450 |     const CFISH_Int_Compare_To_t method = (CFISH_Int_Compare_To_t)cfish_obj_method(self, CFISH_Int_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_To_String’:
autogen/include/Clownfish/Num.h:472:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Integer *)’ [-Wcast-function-type]
  472 |     const CFISH_Int_To_String_t method = (CFISH_Int_To_String_t)cfish_obj_method(self, CFISH_Int_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_Get_Value’:
autogen/include/Clownfish/Num.h:483:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_Integer *)’ {aka ‘long int (*)(cfish_Integer *)’} [-Wcast-function-type]
  483 |     const CFISH_Int_Get_Value_t method = (CFISH_Int_Get_Value_t)cfish_obj_method(self, CFISH_Int_Get_Value_OFFSET);
      |                                          ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_To_F64’:
autogen/include/Clownfish/Num.h:494:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_Integer *)’ [-Wcast-function-type]
  494 |     const CFISH_Int_To_F64_t method = (CFISH_Int_To_F64_t)cfish_obj_method(self, CFISH_Int_To_F64_OFFSET);
      |                                       ^
In file included from cftest/Clownfish/Test/TestNum.c:30:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/TestObj.c -c -o cftest/Clownfish/Test/TestObj.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/TestObj.h:40,
                 from cftest/Clownfish/Test/TestObj.c:24:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_To_Host’:
autogen/include/Clownfish/Test/TestObj.h:130:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestObj *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestObj_To_Host_t method = (TESTCFISH_TestObj_To_Host_t)cfish_obj_method(self, TESTCFISH_TestObj_To_Host_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_Clone’:
autogen/include/Clownfish/Test/TestObj.h:137:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestObj *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestObj_Clone_t method = (TESTCFISH_TestObj_Clone_t)cfish_obj_method(self, TESTCFISH_TestObj_Clone_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_Equals’:
autogen/include/Clownfish/Test/TestObj.h:144:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestObj *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestObj_Equals_t method = (TESTCFISH_TestObj_Equals_t)cfish_obj_method(self, TESTCFISH_TestObj_Equals_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_Compare_To’:
autogen/include/Clownfish/Test/TestObj.h:151:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestObj *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestObj *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestObj_Compare_To_t method = (TESTCFISH_TestObj_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestObj_Compare_To_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_To_String’:
autogen/include/Clownfish/Test/TestObj.h:165:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestObj *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestObj_To_String_t method = (TESTCFISH_TestObj_To_String_t)cfish_obj_method(self, TESTCFISH_TestObj_To_String_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_Run’:
autogen/include/Clownfish/Test/TestObj.h:172:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestObj *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestObj_Run_t method = (TESTCFISH_TestObj_Run_t)cfish_obj_method(self, TESTCFISH_TestObj_Run_OFFSET);
      |                                            ^
In file included from autogen/include/Clownfish/String.h:41,
                 from cftest/Clownfish/Test/TestObj.c:26:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
In file included from autogen/include/Clownfish/String.h:44:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Host’:
autogen/include/Clownfish/String.h:387:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_String *, void *)’ [-Wcast-function-type]
  387 |     const CFISH_Str_To_Host_t method = (CFISH_Str_To_Host_t)cfish_obj_method(self, CFISH_Str_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Clone’:
autogen/include/Clownfish/String.h:398:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  398 |     const CFISH_Str_Clone_t method = (CFISH_Str_Clone_t)cfish_obj_method(self, CFISH_Str_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals’:
autogen/include/Clownfish/String.h:409:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  409 |     const CFISH_Str_Equals_t method = (CFISH_Str_Equals_t)cfish_obj_method(self, CFISH_Str_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Compare_To’:
autogen/include/Clownfish/String.h:420:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, cfish_Obj *)’ {aka ‘int (*)(cfish_String *, cfish_Obj *)’} [-Wcast-function-type]
  420 |     const CFISH_Str_Compare_To_t method = (CFISH_Str_Compare_To_t)cfish_obj_method(self, CFISH_Str_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_String’:
autogen/include/Clownfish/String.h:442:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  442 |     const CFISH_Str_To_String_t method = (CFISH_Str_To_String_t)cfish_obj_method(self, CFISH_Str_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat’:
autogen/include/Clownfish/String.h:453:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  453 |     const CFISH_Str_Cat_t method = (CFISH_Str_Cat_t)cfish_obj_method(self, CFISH_Str_Cat_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Utf8’:
autogen/include/Clownfish/String.h:464:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  464 |     const CFISH_Str_Cat_Utf8_t method = (CFISH_Str_Cat_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Utf8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Trusted_Utf8’:
autogen/include/Clownfish/String.h:475:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  475 |     const CFISH_Str_Cat_Trusted_Utf8_t method = (CFISH_Str_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Trusted_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_I64’:
autogen/include/Clownfish/String.h:486:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *)’ {aka ‘long int (*)(cfish_String *)’} [-Wcast-function-type]
  486 |     const CFISH_Str_To_I64_t method = (CFISH_Str_To_I64_t)cfish_obj_method(self, CFISH_Str_To_I64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_BaseX_To_I64’:
autogen/include/Clownfish/String.h:497:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *, uint32_t)’ {aka ‘long int (*)(cfish_String *, unsigned int)’} [-Wcast-function-type]
  497 |     const CFISH_Str_BaseX_To_I64_t method = (CFISH_Str_BaseX_To_I64_t)cfish_obj_method(self, CFISH_Str_BaseX_To_I64_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_F64’:
autogen/include/Clownfish/String.h:508:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_String *)’ [-Wcast-function-type]
  508 |     const CFISH_Str_To_F64_t method = (CFISH_Str_To_F64_t)cfish_obj_method(self, CFISH_Str_To_F64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With’:
autogen/include/Clownfish/String.h:519:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  519 |     const CFISH_Str_Starts_With_t method = (CFISH_Str_Starts_With_t)cfish_obj_method(self, CFISH_Str_Starts_With_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:530:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  530 |     const CFISH_Str_Starts_With_Utf8_t method = (CFISH_Str_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Starts_With_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With’:
autogen/include/Clownfish/String.h:541:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  541 |     const CFISH_Str_Ends_With_t method = (CFISH_Str_Ends_With_t)cfish_obj_method(self, CFISH_Str_Ends_With_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:552:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  552 |     const CFISH_Str_Ends_With_Utf8_t method = (CFISH_Str_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Ends_With_Utf8_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains’:
autogen/include/Clownfish/String.h:563:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  563 |     const CFISH_Str_Contains_t method = (CFISH_Str_Contains_t)cfish_obj_method(self, CFISH_Str_Contains_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains_Utf8’:
autogen/include/Clownfish/String.h:574:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  574 |     const CFISH_Str_Contains_Utf8_t method = (CFISH_Str_Contains_Utf8_t)cfish_obj_method(self, CFISH_Str_Contains_Utf8_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find’:
autogen/include/Clownfish/String.h:585:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  585 |     const CFISH_Str_Find_t method = (CFISH_Str_Find_t)cfish_obj_method(self, CFISH_Str_Find_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find_Utf8’:
autogen/include/Clownfish/String.h:596:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_StringIterator * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  596 |     const CFISH_Str_Find_Utf8_t method = (CFISH_Str_Find_Utf8_t)cfish_obj_method(self, CFISH_Str_Find_Utf8_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals_Utf8’:
autogen/include/Clownfish/String.h:607:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  607 |     const CFISH_Str_Equals_Utf8_t method = (CFISH_Str_Equals_Utf8_t)cfish_obj_method(self, CFISH_Str_Equals_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Length’:
autogen/include/Clownfish/String.h:618:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  618 |     const CFISH_Str_Length_t method = (CFISH_Str_Length_t)cfish_obj_method(self, CFISH_Str_Length_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Size’:
autogen/include/Clownfish/String.h:629:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  629 |     const CFISH_Str_Get_Size_t method = (CFISH_Str_Get_Size_t)cfish_obj_method(self, CFISH_Str_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Ptr8’:
autogen/include/Clownfish/String.h:640:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_String *)’ [-Wcast-function-type]
  640 |     const CFISH_Str_Get_Ptr8_t method = (CFISH_Str_Get_Ptr8_t)cfish_obj_method(self, CFISH_Str_Get_Ptr8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Utf8’:
autogen/include/Clownfish/String.h:651:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_String *)’ [-Wcast-function-type]
  651 |     const CFISH_Str_To_Utf8_t method = (CFISH_Str_To_Utf8_t)cfish_obj_method(self, CFISH_Str_To_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_ByteBuf’:
autogen/include/Clownfish/String.h:662:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_String *)’ [-Wcast-function-type]
  662 |     const CFISH_Str_To_ByteBuf_t method = (CFISH_Str_To_ByteBuf_t)cfish_obj_method(self, CFISH_Str_To_ByteBuf_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Is_Copy_On_IncRef’:
autogen/include/Clownfish/String.h:673:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *)’ [-Wcast-function-type]
  673 |     const CFISH_Str_Is_Copy_On_IncRef_t method = (CFISH_Str_Is_Copy_On_IncRef_t)cfish_obj_method(self, CFISH_Str_Is_Copy_On_IncRef_OFFSET);
      |                                                  ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Hash_Sum’:
autogen/include/Clownfish/String.h:684:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  684 |     const CFISH_Str_Hash_Sum_t method = (CFISH_Str_Hash_Sum_t)cfish_obj_method(self, CFISH_Str_Hash_Sum_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim’:
autogen/include/Clownfish/String.h:695:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  695 |     const CFISH_Str_Trim_t method = (CFISH_Str_Trim_t)cfish_obj_method(self, CFISH_Str_Trim_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Top’:
autogen/include/Clownfish/String.h:706:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  706 |     const CFISH_Str_Trim_Top_t method = (CFISH_Str_Trim_Top_t)cfish_obj_method(self, CFISH_Str_Trim_Top_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Tail’:
autogen/include/Clownfish/String.h:717:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  717 |     const CFISH_Str_Trim_Tail_t method = (CFISH_Str_Trim_Tail_t)cfish_obj_method(self, CFISH_Str_Trim_Tail_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_At’:
autogen/include/Clownfish/String.h:728:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  728 |     const CFISH_Str_Code_Point_At_t method = (CFISH_Str_Code_Point_At_t)cfish_obj_method(self, CFISH_Str_Code_Point_At_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_From’:
autogen/include/Clownfish/String.h:739:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  739 |     const CFISH_Str_Code_Point_From_t method = (CFISH_Str_Code_Point_From_t)cfish_obj_method(self, CFISH_Str_Code_Point_From_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_SubString’:
autogen/include/Clownfish/String.h:750:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, size_t,  size_t)’ {aka ‘cfish_String * (*)(cfish_String *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  750 |     const CFISH_Str_SubString_t method = (CFISH_Str_SubString_t)cfish_obj_method(self, CFISH_Str_SubString_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Top’:
autogen/include/Clownfish/String.h:761:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  761 |     const CFISH_Str_Top_t method = (CFISH_Str_Top_t)cfish_obj_method(self, CFISH_Str_Top_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Tail’:
autogen/include/Clownfish/String.h:772:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  772 |     const CFISH_Str_Tail_t method = (CFISH_Str_Tail_t)cfish_obj_method(self, CFISH_Str_Tail_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_Host’:
autogen/include/Clownfish/String.h:1113:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_StringIterator *, void *)’ [-Wcast-function-type]
 1113 |     const CFISH_StrIter_To_Host_t method = (CFISH_StrIter_To_Host_t)cfish_obj_method(self, CFISH_StrIter_To_Host_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Clone’:
autogen/include/Clownfish/String.h:1124:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1124 |     const CFISH_StrIter_Clone_t method = (CFISH_StrIter_Clone_t)cfish_obj_method(self, CFISH_StrIter_Clone_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Equals’:
autogen/include/Clownfish/String.h:1135:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_Obj *)’ [-Wcast-function-type]
 1135 |     const CFISH_StrIter_Equals_t method = (CFISH_StrIter_Equals_t)cfish_obj_method(self, CFISH_StrIter_Equals_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Compare_To’:
autogen/include/Clownfish/String.h:1146:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_StringIterator *, cfish_Obj *)’} [-Wcast-function-type]
 1146 |     const CFISH_StrIter_Compare_To_t method = (CFISH_StrIter_Compare_To_t)cfish_obj_method(self, CFISH_StrIter_Compare_To_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_String’:
autogen/include/Clownfish/String.h:1168:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1168 |     const CFISH_StrIter_To_String_t method = (CFISH_StrIter_To_String_t)cfish_obj_method(self, CFISH_StrIter_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Assign’:
autogen/include/Clownfish/String.h:1179:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_StringIterator *, cfish_StringIterator *)’ [-Wcast-function-type]
 1179 |     const CFISH_StrIter_Assign_t method = (CFISH_StrIter_Assign_t)cfish_obj_method(self, CFISH_StrIter_Assign_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Next’:
autogen/include/Clownfish/String.h:1190:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1190 |     const CFISH_StrIter_Has_Next_t method = (CFISH_StrIter_Has_Next_t)cfish_obj_method(self, CFISH_StrIter_Has_Next_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Prev’:
autogen/include/Clownfish/String.h:1201:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1201 |     const CFISH_StrIter_Has_Prev_t method = (CFISH_StrIter_Has_Prev_t)cfish_obj_method(self, CFISH_StrIter_Has_Prev_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Next’:
autogen/include/Clownfish/String.h:1212:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1212 |     const CFISH_StrIter_Next_t method = (CFISH_StrIter_Next_t)cfish_obj_method(self, CFISH_StrIter_Next_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Prev’:
autogen/include/Clownfish/String.h:1223:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1223 |     const CFISH_StrIter_Prev_t method = (CFISH_StrIter_Prev_t)cfish_obj_method(self, CFISH_StrIter_Prev_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Advance’:
autogen/include/Clownfish/String.h:1234:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1234 |     const CFISH_StrIter_Advance_t method = (CFISH_StrIter_Advance_t)cfish_obj_method(self, CFISH_StrIter_Advance_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Recede’:
autogen/include/Clownfish/String.h:1245:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1245 |     const CFISH_StrIter_Recede_t method = (CFISH_StrIter_Recede_t)cfish_obj_method(self, CFISH_StrIter_Recede_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace’:
autogen/include/Clownfish/String.h:1256:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1256 |     const CFISH_StrIter_Skip_Whitespace_t method = (CFISH_StrIter_Skip_Whitespace_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_OFFSET);
      |                                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace_Back’:
autogen/include/Clownfish/String.h:1267:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1267 |     const CFISH_StrIter_Skip_Whitespace_Back_t method = (CFISH_StrIter_Skip_Whitespace_Back_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_Back_OFFSET);
      |                                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With’:
autogen/include/Clownfish/String.h:1278:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1278 |     const CFISH_StrIter_Starts_With_t method = (CFISH_StrIter_Starts_With_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:1289:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1289 |     const CFISH_StrIter_Starts_With_Utf8_t method = (CFISH_StrIter_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_Utf8_OFFSET);
      |                                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With’:
autogen/include/Clownfish/String.h:1300:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1300 |     const CFISH_StrIter_Ends_With_t method = (CFISH_StrIter_Ends_With_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:1311:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1311 |     const CFISH_StrIter_Ends_With_Utf8_t method = (CFISH_StrIter_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_Utf8_OFFSET);
      |                                                   ^
In file included from cftest/Clownfish/Test/TestObj.c:29:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/TestPtrHash.c -c -o cftest/Clownfish/Test/TestPtrHash.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/TestPtrHash.h:40,
                 from cftest/Clownfish/Test/TestPtrHash.c:23:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_To_Host’:
autogen/include/Clownfish/Test/TestPtrHash.h:130:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestPtrHash *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestPtrHash_To_Host_t method = (TESTCFISH_TestPtrHash_To_Host_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_Clone’:
autogen/include/Clownfish/Test/TestPtrHash.h:137:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestPtrHash *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestPtrHash_Clone_t method = (TESTCFISH_TestPtrHash_Clone_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_Equals’:
autogen/include/Clownfish/Test/TestPtrHash.h:144:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestPtrHash *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestPtrHash_Equals_t method = (TESTCFISH_TestPtrHash_Equals_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_Compare_To’:
autogen/include/Clownfish/Test/TestPtrHash.h:151:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestPtrHash *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestPtrHash *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestPtrHash_Compare_To_t method = (TESTCFISH_TestPtrHash_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_To_String’:
autogen/include/Clownfish/Test/TestPtrHash.h:165:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestPtrHash *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestPtrHash_To_String_t method = (TESTCFISH_TestPtrHash_To_String_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_Run’:
autogen/include/Clownfish/Test/TestPtrHash.h:172:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestPtrHash *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestPtrHash_Run_t method = (TESTCFISH_TestPtrHash_Run_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_Run_OFFSET);
      |                                                ^
In file included from cftest/Clownfish/Test/TestPtrHash.c:24:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
In file included from cftest/Clownfish/Test/TestPtrHash.c:26:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/TestString.c -c -o cftest/Clownfish/Test/TestString.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/TestString.h:40,
                 from cftest/Clownfish/Test/TestString.c:23:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_To_Host’:
autogen/include/Clownfish/Test/TestString.h:130:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestString *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestStr_To_Host_t method = (TESTCFISH_TestStr_To_Host_t)cfish_obj_method(self, TESTCFISH_TestStr_To_Host_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_Clone’:
autogen/include/Clownfish/Test/TestString.h:137:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestString *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestStr_Clone_t method = (TESTCFISH_TestStr_Clone_t)cfish_obj_method(self, TESTCFISH_TestStr_Clone_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_Equals’:
autogen/include/Clownfish/Test/TestString.h:144:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestString *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestStr_Equals_t method = (TESTCFISH_TestStr_Equals_t)cfish_obj_method(self, TESTCFISH_TestStr_Equals_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_Compare_To’:
autogen/include/Clownfish/Test/TestString.h:151:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestString *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestString *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestStr_Compare_To_t method = (TESTCFISH_TestStr_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestStr_Compare_To_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_To_String’:
autogen/include/Clownfish/Test/TestString.h:165:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestString *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestStr_To_String_t method = (TESTCFISH_TestStr_To_String_t)cfish_obj_method(self, TESTCFISH_TestStr_To_String_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_Run’:
autogen/include/Clownfish/Test/TestString.h:172:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestString *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestStr_Run_t method = (TESTCFISH_TestStr_Run_t)cfish_obj_method(self, TESTCFISH_TestStr_Run_OFFSET);
      |                                            ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_To_Host’:
autogen/include/Clownfish/Test/TestString.h:311:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_StringCallbackTest *, void *)’ [-Wcast-function-type]
  311 |     const TESTCFISH_StrCbTest_To_Host_t method = (TESTCFISH_StrCbTest_To_Host_t)cfish_obj_method(self, TESTCFISH_StrCbTest_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_Clone’:
autogen/include/Clownfish/Test/TestString.h:318:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_StringCallbackTest *)’ [-Wcast-function-type]
  318 |     const TESTCFISH_StrCbTest_Clone_t method = (TESTCFISH_StrCbTest_Clone_t)cfish_obj_method(self, TESTCFISH_StrCbTest_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_Equals’:
autogen/include/Clownfish/Test/TestString.h:325:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_StringCallbackTest *, cfish_Obj *)’ [-Wcast-function-type]
  325 |     const TESTCFISH_StrCbTest_Equals_t method = (TESTCFISH_StrCbTest_Equals_t)cfish_obj_method(self, TESTCFISH_StrCbTest_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_Compare_To’:
autogen/include/Clownfish/Test/TestString.h:332:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_StringCallbackTest *, cfish_Obj *)’ {aka ‘int (*)(testcfish_StringCallbackTest *, cfish_Obj *)’} [-Wcast-function-type]
  332 |     const TESTCFISH_StrCbTest_Compare_To_t method = (TESTCFISH_StrCbTest_Compare_To_t)cfish_obj_method(self, TESTCFISH_StrCbTest_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_To_String’:
autogen/include/Clownfish/Test/TestString.h:346:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_StringCallbackTest *)’ [-Wcast-function-type]
  346 |     const TESTCFISH_StrCbTest_To_String_t method = (TESTCFISH_StrCbTest_To_String_t)cfish_obj_method(self, TESTCFISH_StrCbTest_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_Unchanged_By_Callback’:
autogen/include/Clownfish/Test/TestString.h:353:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_StringCallbackTest *, cfish_String *)’ [-Wcast-function-type]
  353 |     const TESTCFISH_StrCbTest_Unchanged_By_Callback_t method = (TESTCFISH_StrCbTest_Unchanged_By_Callback_t)cfish_obj_method(self, TESTCFISH_StrCbTest_Unchanged_By_Callback_OFFSET);
      |                                                                ^
In file included from autogen/include/Clownfish/String.h:41,
                 from cftest/Clownfish/Test/TestString.c:25:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
In file included from autogen/include/Clownfish/String.h:44:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Host’:
autogen/include/Clownfish/String.h:387:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_String *, void *)’ [-Wcast-function-type]
  387 |     const CFISH_Str_To_Host_t method = (CFISH_Str_To_Host_t)cfish_obj_method(self, CFISH_Str_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Clone’:
autogen/include/Clownfish/String.h:398:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  398 |     const CFISH_Str_Clone_t method = (CFISH_Str_Clone_t)cfish_obj_method(self, CFISH_Str_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals’:
autogen/include/Clownfish/String.h:409:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  409 |     const CFISH_Str_Equals_t method = (CFISH_Str_Equals_t)cfish_obj_method(self, CFISH_Str_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Compare_To’:
autogen/include/Clownfish/String.h:420:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, cfish_Obj *)’ {aka ‘int (*)(cfish_String *, cfish_Obj *)’} [-Wcast-function-type]
  420 |     const CFISH_Str_Compare_To_t method = (CFISH_Str_Compare_To_t)cfish_obj_method(self, CFISH_Str_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_String’:
autogen/include/Clownfish/String.h:442:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  442 |     const CFISH_Str_To_String_t method = (CFISH_Str_To_String_t)cfish_obj_method(self, CFISH_Str_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat’:
autogen/include/Clownfish/String.h:453:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  453 |     const CFISH_Str_Cat_t method = (CFISH_Str_Cat_t)cfish_obj_method(self, CFISH_Str_Cat_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Utf8’:
autogen/include/Clownfish/String.h:464:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  464 |     const CFISH_Str_Cat_Utf8_t method = (CFISH_Str_Cat_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Utf8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Trusted_Utf8’:
autogen/include/Clownfish/String.h:475:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  475 |     const CFISH_Str_Cat_Trusted_Utf8_t method = (CFISH_Str_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Trusted_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_I64’:
autogen/include/Clownfish/String.h:486:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *)’ {aka ‘long int (*)(cfish_String *)’} [-Wcast-function-type]
  486 |     const CFISH_Str_To_I64_t method = (CFISH_Str_To_I64_t)cfish_obj_method(self, CFISH_Str_To_I64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_BaseX_To_I64’:
autogen/include/Clownfish/String.h:497:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *, uint32_t)’ {aka ‘long int (*)(cfish_String *, unsigned int)’} [-Wcast-function-type]
  497 |     const CFISH_Str_BaseX_To_I64_t method = (CFISH_Str_BaseX_To_I64_t)cfish_obj_method(self, CFISH_Str_BaseX_To_I64_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_F64’:
autogen/include/Clownfish/String.h:508:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_String *)’ [-Wcast-function-type]
  508 |     const CFISH_Str_To_F64_t method = (CFISH_Str_To_F64_t)cfish_obj_method(self, CFISH_Str_To_F64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With’:
autogen/include/Clownfish/String.h:519:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  519 |     const CFISH_Str_Starts_With_t method = (CFISH_Str_Starts_With_t)cfish_obj_method(self, CFISH_Str_Starts_With_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:530:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  530 |     const CFISH_Str_Starts_With_Utf8_t method = (CFISH_Str_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Starts_With_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With’:
autogen/include/Clownfish/String.h:541:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  541 |     const CFISH_Str_Ends_With_t method = (CFISH_Str_Ends_With_t)cfish_obj_method(self, CFISH_Str_Ends_With_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:552:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  552 |     const CFISH_Str_Ends_With_Utf8_t method = (CFISH_Str_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Ends_With_Utf8_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains’:
autogen/include/Clownfish/String.h:563:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  563 |     const CFISH_Str_Contains_t method = (CFISH_Str_Contains_t)cfish_obj_method(self, CFISH_Str_Contains_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains_Utf8’:
autogen/include/Clownfish/String.h:574:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  574 |     const CFISH_Str_Contains_Utf8_t method = (CFISH_Str_Contains_Utf8_t)cfish_obj_method(self, CFISH_Str_Contains_Utf8_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find’:
autogen/include/Clownfish/String.h:585:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  585 |     const CFISH_Str_Find_t method = (CFISH_Str_Find_t)cfish_obj_method(self, CFISH_Str_Find_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find_Utf8’:
autogen/include/Clownfish/String.h:596:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_StringIterator * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  596 |     const CFISH_Str_Find_Utf8_t method = (CFISH_Str_Find_Utf8_t)cfish_obj_method(self, CFISH_Str_Find_Utf8_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals_Utf8’:
autogen/include/Clownfish/String.h:607:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  607 |     const CFISH_Str_Equals_Utf8_t method = (CFISH_Str_Equals_Utf8_t)cfish_obj_method(self, CFISH_Str_Equals_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Length’:
autogen/include/Clownfish/String.h:618:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  618 |     const CFISH_Str_Length_t method = (CFISH_Str_Length_t)cfish_obj_method(self, CFISH_Str_Length_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Size’:
autogen/include/Clownfish/String.h:629:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  629 |     const CFISH_Str_Get_Size_t method = (CFISH_Str_Get_Size_t)cfish_obj_method(self, CFISH_Str_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Ptr8’:
autogen/include/Clownfish/String.h:640:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_String *)’ [-Wcast-function-type]
  640 |     const CFISH_Str_Get_Ptr8_t method = (CFISH_Str_Get_Ptr8_t)cfish_obj_method(self, CFISH_Str_Get_Ptr8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Utf8’:
autogen/include/Clownfish/String.h:651:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_String *)’ [-Wcast-function-type]
  651 |     const CFISH_Str_To_Utf8_t method = (CFISH_Str_To_Utf8_t)cfish_obj_method(self, CFISH_Str_To_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_ByteBuf’:
autogen/include/Clownfish/String.h:662:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_String *)’ [-Wcast-function-type]
  662 |     const CFISH_Str_To_ByteBuf_t method = (CFISH_Str_To_ByteBuf_t)cfish_obj_method(self, CFISH_Str_To_ByteBuf_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Is_Copy_On_IncRef’:
autogen/include/Clownfish/String.h:673:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *)’ [-Wcast-function-type]
  673 |     const CFISH_Str_Is_Copy_On_IncRef_t method = (CFISH_Str_Is_Copy_On_IncRef_t)cfish_obj_method(self, CFISH_Str_Is_Copy_On_IncRef_OFFSET);
      |                                                  ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Hash_Sum’:
autogen/include/Clownfish/String.h:684:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  684 |     const CFISH_Str_Hash_Sum_t method = (CFISH_Str_Hash_Sum_t)cfish_obj_method(self, CFISH_Str_Hash_Sum_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim’:
autogen/include/Clownfish/String.h:695:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  695 |     const CFISH_Str_Trim_t method = (CFISH_Str_Trim_t)cfish_obj_method(self, CFISH_Str_Trim_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Top’:
autogen/include/Clownfish/String.h:706:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  706 |     const CFISH_Str_Trim_Top_t method = (CFISH_Str_Trim_Top_t)cfish_obj_method(self, CFISH_Str_Trim_Top_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Tail’:
autogen/include/Clownfish/String.h:717:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  717 |     const CFISH_Str_Trim_Tail_t method = (CFISH_Str_Trim_Tail_t)cfish_obj_method(self, CFISH_Str_Trim_Tail_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_At’:
autogen/include/Clownfish/String.h:728:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  728 |     const CFISH_Str_Code_Point_At_t method = (CFISH_Str_Code_Point_At_t)cfish_obj_method(self, CFISH_Str_Code_Point_At_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_From’:
autogen/include/Clownfish/String.h:739:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  739 |     const CFISH_Str_Code_Point_From_t method = (CFISH_Str_Code_Point_From_t)cfish_obj_method(self, CFISH_Str_Code_Point_From_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_SubString’:
autogen/include/Clownfish/String.h:750:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, size_t,  size_t)’ {aka ‘cfish_String * (*)(cfish_String *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  750 |     const CFISH_Str_SubString_t method = (CFISH_Str_SubString_t)cfish_obj_method(self, CFISH_Str_SubString_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Top’:
autogen/include/Clownfish/String.h:761:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  761 |     const CFISH_Str_Top_t method = (CFISH_Str_Top_t)cfish_obj_method(self, CFISH_Str_Top_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Tail’:
autogen/include/Clownfish/String.h:772:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  772 |     const CFISH_Str_Tail_t method = (CFISH_Str_Tail_t)cfish_obj_method(self, CFISH_Str_Tail_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_Host’:
autogen/include/Clownfish/String.h:1113:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_StringIterator *, void *)’ [-Wcast-function-type]
 1113 |     const CFISH_StrIter_To_Host_t method = (CFISH_StrIter_To_Host_t)cfish_obj_method(self, CFISH_StrIter_To_Host_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Clone’:
autogen/include/Clownfish/String.h:1124:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1124 |     const CFISH_StrIter_Clone_t method = (CFISH_StrIter_Clone_t)cfish_obj_method(self, CFISH_StrIter_Clone_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Equals’:
autogen/include/Clownfish/String.h:1135:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_Obj *)’ [-Wcast-function-type]
 1135 |     const CFISH_StrIter_Equals_t method = (CFISH_StrIter_Equals_t)cfish_obj_method(self, CFISH_StrIter_Equals_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Compare_To’:
autogen/include/Clownfish/String.h:1146:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_StringIterator *, cfish_Obj *)’} [-Wcast-function-type]
 1146 |     const CFISH_StrIter_Compare_To_t method = (CFISH_StrIter_Compare_To_t)cfish_obj_method(self, CFISH_StrIter_Compare_To_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_String’:
autogen/include/Clownfish/String.h:1168:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1168 |     const CFISH_StrIter_To_String_t method = (CFISH_StrIter_To_String_t)cfish_obj_method(self, CFISH_StrIter_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Assign’:
autogen/include/Clownfish/String.h:1179:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_StringIterator *, cfish_StringIterator *)’ [-Wcast-function-type]
 1179 |     const CFISH_StrIter_Assign_t method = (CFISH_StrIter_Assign_t)cfish_obj_method(self, CFISH_StrIter_Assign_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Next’:
autogen/include/Clownfish/String.h:1190:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1190 |     const CFISH_StrIter_Has_Next_t method = (CFISH_StrIter_Has_Next_t)cfish_obj_method(self, CFISH_StrIter_Has_Next_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Prev’:
autogen/include/Clownfish/String.h:1201:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1201 |     const CFISH_StrIter_Has_Prev_t method = (CFISH_StrIter_Has_Prev_t)cfish_obj_method(self, CFISH_StrIter_Has_Prev_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Next’:
autogen/include/Clownfish/String.h:1212:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1212 |     const CFISH_StrIter_Next_t method = (CFISH_StrIter_Next_t)cfish_obj_method(self, CFISH_StrIter_Next_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Prev’:
autogen/include/Clownfish/String.h:1223:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1223 |     const CFISH_StrIter_Prev_t method = (CFISH_StrIter_Prev_t)cfish_obj_method(self, CFISH_StrIter_Prev_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Advance’:
autogen/include/Clownfish/String.h:1234:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1234 |     const CFISH_StrIter_Advance_t method = (CFISH_StrIter_Advance_t)cfish_obj_method(self, CFISH_StrIter_Advance_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Recede’:
autogen/include/Clownfish/String.h:1245:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1245 |     const CFISH_StrIter_Recede_t method = (CFISH_StrIter_Recede_t)cfish_obj_method(self, CFISH_StrIter_Recede_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace’:
autogen/include/Clownfish/String.h:1256:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1256 |     const CFISH_StrIter_Skip_Whitespace_t method = (CFISH_StrIter_Skip_Whitespace_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_OFFSET);
      |                                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace_Back’:
autogen/include/Clownfish/String.h:1267:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1267 |     const CFISH_StrIter_Skip_Whitespace_Back_t method = (CFISH_StrIter_Skip_Whitespace_Back_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_Back_OFFSET);
      |                                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With’:
autogen/include/Clownfish/String.h:1278:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1278 |     const CFISH_StrIter_Starts_With_t method = (CFISH_StrIter_Starts_With_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:1289:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1289 |     const CFISH_StrIter_Starts_With_Utf8_t method = (CFISH_StrIter_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_Utf8_OFFSET);
      |                                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With’:
autogen/include/Clownfish/String.h:1300:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1300 |     const CFISH_StrIter_Ends_With_t method = (CFISH_StrIter_Ends_With_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:1311:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1311 |     const CFISH_StrIter_Ends_With_Utf8_t method = (CFISH_StrIter_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_Utf8_OFFSET);
      |                                                   ^
In file included from cftest/Clownfish/Test/TestString.c:26:
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_To_Host’:
autogen/include/Clownfish/Boolean.h:159:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Boolean *, void *)’ [-Wcast-function-type]
  159 |     const CFISH_Bool_To_Host_t method = (CFISH_Bool_To_Host_t)cfish_obj_method(self, CFISH_Bool_To_Host_OFFSET);
      |                                         ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Clone’:
autogen/include/Clownfish/Boolean.h:170:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Boolean * (*)(cfish_Boolean *)’ [-Wcast-function-type]
  170 |     const CFISH_Bool_Clone_t method = (CFISH_Bool_Clone_t)cfish_obj_method(self, CFISH_Bool_Clone_OFFSET);
      |                                       ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Equals’:
autogen/include/Clownfish/Boolean.h:181:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Boolean *, cfish_Obj *)’ [-Wcast-function-type]
  181 |     const CFISH_Bool_Equals_t method = (CFISH_Bool_Equals_t)cfish_obj_method(self, CFISH_Bool_Equals_OFFSET);
      |                                        ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Compare_To’:
autogen/include/Clownfish/Boolean.h:192:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Boolean *, cfish_Obj *)’ {aka ‘int (*)(cfish_Boolean *, cfish_Obj *)’} [-Wcast-function-type]
  192 |     const CFISH_Bool_Compare_To_t method = (CFISH_Bool_Compare_To_t)cfish_obj_method(self, CFISH_Bool_Compare_To_OFFSET);
      |                                            ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_To_String’:
autogen/include/Clownfish/Boolean.h:214:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Boolean *)’ [-Wcast-function-type]
  214 |     const CFISH_Bool_To_String_t method = (CFISH_Bool_To_String_t)cfish_obj_method(self, CFISH_Bool_To_String_OFFSET);
      |                                           ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Get_Value’:
autogen/include/Clownfish/Boolean.h:225:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Boolean *)’ [-Wcast-function-type]
  225 |     const CFISH_Bool_Get_Value_t method = (CFISH_Bool_Get_Value_t)cfish_obj_method(self, CFISH_Bool_Get_Value_OFFSET);
      |                                           ^
In file included from cftest/Clownfish/Test/TestString.c:27:
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_To_Host’:
autogen/include/Clownfish/ByteBuf.h:230:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_ByteBuf *, void *)’ [-Wcast-function-type]
  230 |     const CFISH_BB_To_Host_t method = (CFISH_BB_To_Host_t)cfish_obj_method(self, CFISH_BB_To_Host_OFFSET);
      |                                       ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Clone’:
autogen/include/Clownfish/ByteBuf.h:241:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  241 |     const CFISH_BB_Clone_t method = (CFISH_BB_Clone_t)cfish_obj_method(self, CFISH_BB_Clone_OFFSET);
      |                                     ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Equals’:
autogen/include/Clownfish/ByteBuf.h:252:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_ByteBuf *, cfish_Obj *)’ [-Wcast-function-type]
  252 |     const CFISH_BB_Equals_t method = (CFISH_BB_Equals_t)cfish_obj_method(self, CFISH_BB_Equals_OFFSET);
      |                                      ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Compare_To’:
autogen/include/Clownfish/ByteBuf.h:263:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_ByteBuf *, cfish_Obj *)’ {aka ‘int (*)(cfish_ByteBuf *, cfish_Obj *)’} [-Wcast-function-type]
  263 |     const CFISH_BB_Compare_To_t method = (CFISH_BB_Compare_To_t)cfish_obj_method(self, CFISH_BB_Compare_To_OFFSET);
      |                                          ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_To_String’:
autogen/include/Clownfish/ByteBuf.h:285:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  285 |     const CFISH_BB_To_String_t method = (CFISH_BB_To_String_t)cfish_obj_method(self, CFISH_BB_To_String_OFFSET);
      |                                         ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Set_Size’:
autogen/include/Clownfish/ByteBuf.h:296:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_ByteBuf *, size_t)’ {aka ‘void (*)(cfish_ByteBuf *, long unsigned int)’} [-Wcast-function-type]
  296 |     const CFISH_BB_Set_Size_t method = (CFISH_BB_Set_Size_t)cfish_obj_method(self, CFISH_BB_Set_Size_OFFSET);
      |                                        ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Get_Size’:
autogen/include/Clownfish/ByteBuf.h:307:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_ByteBuf *)’ {aka ‘long unsigned int (*)(cfish_ByteBuf *)’} [-Wcast-function-type]
  307 |     const CFISH_BB_Get_Size_t method = (CFISH_BB_Get_Size_t)cfish_obj_method(self, CFISH_BB_Get_Size_OFFSET);
      |                                        ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Get_Buf’:
autogen/include/Clownfish/ByteBuf.h:318:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  318 |     const CFISH_BB_Get_Buf_t method = (CFISH_BB_Get_Buf_t)cfish_obj_method(self, CFISH_BB_Get_Buf_OFFSET);
      |                                       ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Get_Capacity’:
autogen/include/Clownfish/ByteBuf.h:329:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_ByteBuf *)’ {aka ‘long unsigned int (*)(cfish_ByteBuf *)’} [-Wcast-function-type]
  329 |     const CFISH_BB_Get_Capacity_t method = (CFISH_BB_Get_Capacity_t)cfish_obj_method(self, CFISH_BB_Get_Capacity_OFFSET);
      |                                            ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Cat_Bytes’:
autogen/include/Clownfish/ByteBuf.h:340:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_ByteBuf *, const void *, size_t)’ {aka ‘void (*)(cfish_ByteBuf *, const void *, long unsigned int)’} [-Wcast-function-type]
  340 |     const CFISH_BB_Cat_Bytes_t method = (CFISH_BB_Cat_Bytes_t)cfish_obj_method(self, CFISH_BB_Cat_Bytes_OFFSET);
      |                                         ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Cat’:
autogen/include/Clownfish/ByteBuf.h:351:35: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_ByteBuf *, cfish_Blob *)’ [-Wcast-function-type]
  351 |     const CFISH_BB_Cat_t method = (CFISH_BB_Cat_t)cfish_obj_method(self, CFISH_BB_Cat_OFFSET);
      |                                   ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Grow’:
autogen/include/Clownfish/ByteBuf.h:362:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_ByteBuf *, size_t)’ {aka ‘char * (*)(cfish_ByteBuf *, long unsigned int)’} [-Wcast-function-type]
  362 |     const CFISH_BB_Grow_t method = (CFISH_BB_Grow_t)cfish_obj_method(self, CFISH_BB_Grow_OFFSET);
      |                                    ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Yield_Blob’:
autogen/include/Clownfish/ByteBuf.h:373:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Blob * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  373 |     const CFISH_BB_Yield_Blob_t method = (CFISH_BB_Yield_Blob_t)cfish_obj_method(self, CFISH_BB_Yield_Blob_OFFSET);
      |                                          ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Utf8_To_String’:
autogen/include/Clownfish/ByteBuf.h:384:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  384 |     const CFISH_BB_Utf8_To_String_t method = (CFISH_BB_Utf8_To_String_t)cfish_obj_method(self, CFISH_BB_Utf8_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Trusted_Utf8_To_String’:
autogen/include/Clownfish/ByteBuf.h:395:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  395 |     const CFISH_BB_Trusted_Utf8_To_String_t method = (CFISH_BB_Trusted_Utf8_To_String_t)cfish_obj_method(self, CFISH_BB_Trusted_Utf8_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Equals_Bytes’:
autogen/include/Clownfish/ByteBuf.h:406:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_ByteBuf *, const void *, size_t)’ {aka ‘_Bool (*)(cfish_ByteBuf *, const void *, long unsigned int)’} [-Wcast-function-type]
  406 |     const CFISH_BB_Equals_Bytes_t method = (CFISH_BB_Equals_Bytes_t)cfish_obj_method(self, CFISH_BB_Equals_Bytes_OFFSET);
      |                                            ^
In file included from cftest/Clownfish/Test/TestString.c:28:
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_To_Host’:
autogen/include/Clownfish/CharBuf.h:203:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_CharBuf *, void *)’ [-Wcast-function-type]
  203 |     const CFISH_CB_To_Host_t method = (CFISH_CB_To_Host_t)cfish_obj_method(self, CFISH_CB_To_Host_OFFSET);
      |                                       ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Clone’:
autogen/include/Clownfish/CharBuf.h:214:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_CharBuf * (*)(cfish_CharBuf *)’ [-Wcast-function-type]
  214 |     const CFISH_CB_Clone_t method = (CFISH_CB_Clone_t)cfish_obj_method(self, CFISH_CB_Clone_OFFSET);
      |                                     ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Equals’:
autogen/include/Clownfish/CharBuf.h:225:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_CharBuf *, cfish_Obj *)’ [-Wcast-function-type]
  225 |     const CFISH_CB_Equals_t method = (CFISH_CB_Equals_t)cfish_obj_method(self, CFISH_CB_Equals_OFFSET);
      |                                      ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Compare_To’:
autogen/include/Clownfish/CharBuf.h:236:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_CharBuf *, cfish_Obj *)’ {aka ‘int (*)(cfish_CharBuf *, cfish_Obj *)’} [-Wcast-function-type]
  236 |     const CFISH_CB_Compare_To_t method = (CFISH_CB_Compare_To_t)cfish_obj_method(self, CFISH_CB_Compare_To_OFFSET);
      |                                          ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_To_String’:
autogen/include/Clownfish/CharBuf.h:258:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_CharBuf *)’ [-Wcast-function-type]
  258 |     const CFISH_CB_To_String_t method = (CFISH_CB_To_String_t)cfish_obj_method(self, CFISH_CB_To_String_OFFSET);
      |                                         ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Cat_Utf8’:
autogen/include/Clownfish/CharBuf.h:269:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_CharBuf *, const char *, size_t)’ {aka ‘void (*)(cfish_CharBuf *, const char *, long unsigned int)’} [-Wcast-function-type]
  269 |     const CFISH_CB_Cat_Utf8_t method = (CFISH_CB_Cat_Utf8_t)cfish_obj_method(self, CFISH_CB_Cat_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Cat_Trusted_Utf8’:
autogen/include/Clownfish/CharBuf.h:280:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_CharBuf *, const char *, size_t)’ {aka ‘void (*)(cfish_CharBuf *, const char *, long unsigned int)’} [-Wcast-function-type]
  280 |     const CFISH_CB_Cat_Trusted_Utf8_t method = (CFISH_CB_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_CB_Cat_Trusted_Utf8_OFFSET);
      |                                                ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Cat’:
autogen/include/Clownfish/CharBuf.h:291:35: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_CharBuf *, cfish_String *)’ [-Wcast-function-type]
  291 |     const CFISH_CB_Cat_t method = (CFISH_CB_Cat_t)cfish_obj_method(self, CFISH_CB_Cat_OFFSET);
      |                                   ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_VCatF’:
autogen/include/Clownfish/CharBuf.h:302:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_CharBuf *, const char *, va_list)’ [-Wcast-function-type]
  302 |     const CFISH_CB_VCatF_t method = (CFISH_CB_VCatF_t)cfish_obj_method(self, CFISH_CB_VCatF_OFFSET);
      |                                     ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Cat_Char’:
autogen/include/Clownfish/CharBuf.h:313:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_CharBuf *, int32_t)’ {aka ‘void (*)(cfish_CharBuf *, int)’} [-Wcast-function-type]
  313 |     const CFISH_CB_Cat_Char_t method = (CFISH_CB_Cat_Char_t)cfish_obj_method(self, CFISH_CB_Cat_Char_OFFSET);
      |                                        ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Grow’:
autogen/include/Clownfish/CharBuf.h:324:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_CharBuf *, size_t)’ {aka ‘void (*)(cfish_CharBuf *, long unsigned int)’} [-Wcast-function-type]
  324 |     const CFISH_CB_Grow_t method = (CFISH_CB_Grow_t)cfish_obj_method(self, CFISH_CB_Grow_OFFSET);
      |                                    ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Get_Size’:
autogen/include/Clownfish/CharBuf.h:346:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_CharBuf *)’ {aka ‘long unsigned int (*)(cfish_CharBuf *)’} [-Wcast-function-type]
  346 |     const CFISH_CB_Get_Size_t method = (CFISH_CB_Get_Size_t)cfish_obj_method(self, CFISH_CB_Get_Size_OFFSET);
      |                                        ^
autogen/include/Clownfish/CharBuf.h: In function ‘CFISH_CB_Yield_String’:
autogen/include/Clownfish/CharBuf.h:357:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_CharBuf *)’ [-Wcast-function-type]
  357 |     const CFISH_CB_Yield_String_t method = (CFISH_CB_Yield_String_t)cfish_obj_method(self, CFISH_CB_Yield_String_OFFSET);
      |                                            ^
In file included from cftest/Clownfish/Test/TestString.c:31:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/TestVector.c -c -o cftest/Clownfish/Test/TestVector.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/TestVector.h:40,
                 from cftest/Clownfish/Test/TestVector.c:26:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_To_Host’:
autogen/include/Clownfish/Test/TestVector.h:130:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestVector *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestVector_To_Host_t method = (TESTCFISH_TestVector_To_Host_t)cfish_obj_method(self, TESTCFISH_TestVector_To_Host_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_Clone’:
autogen/include/Clownfish/Test/TestVector.h:137:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestVector *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestVector_Clone_t method = (TESTCFISH_TestVector_Clone_t)cfish_obj_method(self, TESTCFISH_TestVector_Clone_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_Equals’:
autogen/include/Clownfish/Test/TestVector.h:144:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestVector *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestVector_Equals_t method = (TESTCFISH_TestVector_Equals_t)cfish_obj_method(self, TESTCFISH_TestVector_Equals_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_Compare_To’:
autogen/include/Clownfish/Test/TestVector.h:151:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestVector *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestVector *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestVector_Compare_To_t method = (TESTCFISH_TestVector_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestVector_Compare_To_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_To_String’:
autogen/include/Clownfish/Test/TestVector.h:165:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestVector *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestVector_To_String_t method = (TESTCFISH_TestVector_To_String_t)cfish_obj_method(self, TESTCFISH_TestVector_To_String_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_Run’:
autogen/include/Clownfish/Test/TestVector.h:172:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestVector *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestVector_Run_t method = (TESTCFISH_TestVector_Run_t)cfish_obj_method(self, TESTCFISH_TestVector_Run_OFFSET);
      |                                               ^
In file included from autogen/include/Clownfish/String.h:41,
                 from cftest/Clownfish/Test/TestVector.c:28:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
In file included from autogen/include/Clownfish/String.h:44:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Host’:
autogen/include/Clownfish/String.h:387:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_String *, void *)’ [-Wcast-function-type]
  387 |     const CFISH_Str_To_Host_t method = (CFISH_Str_To_Host_t)cfish_obj_method(self, CFISH_Str_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Clone’:
autogen/include/Clownfish/String.h:398:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  398 |     const CFISH_Str_Clone_t method = (CFISH_Str_Clone_t)cfish_obj_method(self, CFISH_Str_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals’:
autogen/include/Clownfish/String.h:409:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  409 |     const CFISH_Str_Equals_t method = (CFISH_Str_Equals_t)cfish_obj_method(self, CFISH_Str_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Compare_To’:
autogen/include/Clownfish/String.h:420:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, cfish_Obj *)’ {aka ‘int (*)(cfish_String *, cfish_Obj *)’} [-Wcast-function-type]
  420 |     const CFISH_Str_Compare_To_t method = (CFISH_Str_Compare_To_t)cfish_obj_method(self, CFISH_Str_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_String’:
autogen/include/Clownfish/String.h:442:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  442 |     const CFISH_Str_To_String_t method = (CFISH_Str_To_String_t)cfish_obj_method(self, CFISH_Str_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat’:
autogen/include/Clownfish/String.h:453:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  453 |     const CFISH_Str_Cat_t method = (CFISH_Str_Cat_t)cfish_obj_method(self, CFISH_Str_Cat_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Utf8’:
autogen/include/Clownfish/String.h:464:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  464 |     const CFISH_Str_Cat_Utf8_t method = (CFISH_Str_Cat_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Utf8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Trusted_Utf8’:
autogen/include/Clownfish/String.h:475:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  475 |     const CFISH_Str_Cat_Trusted_Utf8_t method = (CFISH_Str_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Trusted_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_I64’:
autogen/include/Clownfish/String.h:486:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *)’ {aka ‘long int (*)(cfish_String *)’} [-Wcast-function-type]
  486 |     const CFISH_Str_To_I64_t method = (CFISH_Str_To_I64_t)cfish_obj_method(self, CFISH_Str_To_I64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_BaseX_To_I64’:
autogen/include/Clownfish/String.h:497:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *, uint32_t)’ {aka ‘long int (*)(cfish_String *, unsigned int)’} [-Wcast-function-type]
  497 |     const CFISH_Str_BaseX_To_I64_t method = (CFISH_Str_BaseX_To_I64_t)cfish_obj_method(self, CFISH_Str_BaseX_To_I64_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_F64’:
autogen/include/Clownfish/String.h:508:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_String *)’ [-Wcast-function-type]
  508 |     const CFISH_Str_To_F64_t method = (CFISH_Str_To_F64_t)cfish_obj_method(self, CFISH_Str_To_F64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With’:
autogen/include/Clownfish/String.h:519:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  519 |     const CFISH_Str_Starts_With_t method = (CFISH_Str_Starts_With_t)cfish_obj_method(self, CFISH_Str_Starts_With_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:530:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  530 |     const CFISH_Str_Starts_With_Utf8_t method = (CFISH_Str_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Starts_With_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With’:
autogen/include/Clownfish/String.h:541:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  541 |     const CFISH_Str_Ends_With_t method = (CFISH_Str_Ends_With_t)cfish_obj_method(self, CFISH_Str_Ends_With_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:552:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  552 |     const CFISH_Str_Ends_With_Utf8_t method = (CFISH_Str_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Ends_With_Utf8_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains’:
autogen/include/Clownfish/String.h:563:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  563 |     const CFISH_Str_Contains_t method = (CFISH_Str_Contains_t)cfish_obj_method(self, CFISH_Str_Contains_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains_Utf8’:
autogen/include/Clownfish/String.h:574:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  574 |     const CFISH_Str_Contains_Utf8_t method = (CFISH_Str_Contains_Utf8_t)cfish_obj_method(self, CFISH_Str_Contains_Utf8_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find’:
autogen/include/Clownfish/String.h:585:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  585 |     const CFISH_Str_Find_t method = (CFISH_Str_Find_t)cfish_obj_method(self, CFISH_Str_Find_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find_Utf8’:
autogen/include/Clownfish/String.h:596:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_StringIterator * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  596 |     const CFISH_Str_Find_Utf8_t method = (CFISH_Str_Find_Utf8_t)cfish_obj_method(self, CFISH_Str_Find_Utf8_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals_Utf8’:
autogen/include/Clownfish/String.h:607:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  607 |     const CFISH_Str_Equals_Utf8_t method = (CFISH_Str_Equals_Utf8_t)cfish_obj_method(self, CFISH_Str_Equals_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Length’:
autogen/include/Clownfish/String.h:618:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  618 |     const CFISH_Str_Length_t method = (CFISH_Str_Length_t)cfish_obj_method(self, CFISH_Str_Length_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Size’:
autogen/include/Clownfish/String.h:629:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  629 |     const CFISH_Str_Get_Size_t method = (CFISH_Str_Get_Size_t)cfish_obj_method(self, CFISH_Str_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Ptr8’:
autogen/include/Clownfish/String.h:640:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_String *)’ [-Wcast-function-type]
  640 |     const CFISH_Str_Get_Ptr8_t method = (CFISH_Str_Get_Ptr8_t)cfish_obj_method(self, CFISH_Str_Get_Ptr8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Utf8’:
autogen/include/Clownfish/String.h:651:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_String *)’ [-Wcast-function-type]
  651 |     const CFISH_Str_To_Utf8_t method = (CFISH_Str_To_Utf8_t)cfish_obj_method(self, CFISH_Str_To_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_ByteBuf’:
autogen/include/Clownfish/String.h:662:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_String *)’ [-Wcast-function-type]
  662 |     const CFISH_Str_To_ByteBuf_t method = (CFISH_Str_To_ByteBuf_t)cfish_obj_method(self, CFISH_Str_To_ByteBuf_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Is_Copy_On_IncRef’:
autogen/include/Clownfish/String.h:673:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *)’ [-Wcast-function-type]
  673 |     const CFISH_Str_Is_Copy_On_IncRef_t method = (CFISH_Str_Is_Copy_On_IncRef_t)cfish_obj_method(self, CFISH_Str_Is_Copy_On_IncRef_OFFSET);
      |                                                  ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Hash_Sum’:
autogen/include/Clownfish/String.h:684:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  684 |     const CFISH_Str_Hash_Sum_t method = (CFISH_Str_Hash_Sum_t)cfish_obj_method(self, CFISH_Str_Hash_Sum_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim’:
autogen/include/Clownfish/String.h:695:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  695 |     const CFISH_Str_Trim_t method = (CFISH_Str_Trim_t)cfish_obj_method(self, CFISH_Str_Trim_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Top’:
autogen/include/Clownfish/String.h:706:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  706 |     const CFISH_Str_Trim_Top_t method = (CFISH_Str_Trim_Top_t)cfish_obj_method(self, CFISH_Str_Trim_Top_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Tail’:
autogen/include/Clownfish/String.h:717:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  717 |     const CFISH_Str_Trim_Tail_t method = (CFISH_Str_Trim_Tail_t)cfish_obj_method(self, CFISH_Str_Trim_Tail_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_At’:
autogen/include/Clownfish/String.h:728:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  728 |     const CFISH_Str_Code_Point_At_t method = (CFISH_Str_Code_Point_At_t)cfish_obj_method(self, CFISH_Str_Code_Point_At_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_From’:
autogen/include/Clownfish/String.h:739:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  739 |     const CFISH_Str_Code_Point_From_t method = (CFISH_Str_Code_Point_From_t)cfish_obj_method(self, CFISH_Str_Code_Point_From_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_SubString’:
autogen/include/Clownfish/String.h:750:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, size_t,  size_t)’ {aka ‘cfish_String * (*)(cfish_String *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  750 |     const CFISH_Str_SubString_t method = (CFISH_Str_SubString_t)cfish_obj_method(self, CFISH_Str_SubString_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Top’:
autogen/include/Clownfish/String.h:761:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  761 |     const CFISH_Str_Top_t method = (CFISH_Str_Top_t)cfish_obj_method(self, CFISH_Str_Top_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Tail’:
autogen/include/Clownfish/String.h:772:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  772 |     const CFISH_Str_Tail_t method = (CFISH_Str_Tail_t)cfish_obj_method(self, CFISH_Str_Tail_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_Host’:
autogen/include/Clownfish/String.h:1113:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_StringIterator *, void *)’ [-Wcast-function-type]
 1113 |     const CFISH_StrIter_To_Host_t method = (CFISH_StrIter_To_Host_t)cfish_obj_method(self, CFISH_StrIter_To_Host_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Clone’:
autogen/include/Clownfish/String.h:1124:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1124 |     const CFISH_StrIter_Clone_t method = (CFISH_StrIter_Clone_t)cfish_obj_method(self, CFISH_StrIter_Clone_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Equals’:
autogen/include/Clownfish/String.h:1135:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_Obj *)’ [-Wcast-function-type]
 1135 |     const CFISH_StrIter_Equals_t method = (CFISH_StrIter_Equals_t)cfish_obj_method(self, CFISH_StrIter_Equals_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Compare_To’:
autogen/include/Clownfish/String.h:1146:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_StringIterator *, cfish_Obj *)’} [-Wcast-function-type]
 1146 |     const CFISH_StrIter_Compare_To_t method = (CFISH_StrIter_Compare_To_t)cfish_obj_method(self, CFISH_StrIter_Compare_To_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_String’:
autogen/include/Clownfish/String.h:1168:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1168 |     const CFISH_StrIter_To_String_t method = (CFISH_StrIter_To_String_t)cfish_obj_method(self, CFISH_StrIter_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Assign’:
autogen/include/Clownfish/String.h:1179:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_StringIterator *, cfish_StringIterator *)’ [-Wcast-function-type]
 1179 |     const CFISH_StrIter_Assign_t method = (CFISH_StrIter_Assign_t)cfish_obj_method(self, CFISH_StrIter_Assign_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Next’:
autogen/include/Clownfish/String.h:1190:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1190 |     const CFISH_StrIter_Has_Next_t method = (CFISH_StrIter_Has_Next_t)cfish_obj_method(self, CFISH_StrIter_Has_Next_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Prev’:
autogen/include/Clownfish/String.h:1201:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1201 |     const CFISH_StrIter_Has_Prev_t method = (CFISH_StrIter_Has_Prev_t)cfish_obj_method(self, CFISH_StrIter_Has_Prev_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Next’:
autogen/include/Clownfish/String.h:1212:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1212 |     const CFISH_StrIter_Next_t method = (CFISH_StrIter_Next_t)cfish_obj_method(self, CFISH_StrIter_Next_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Prev’:
autogen/include/Clownfish/String.h:1223:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1223 |     const CFISH_StrIter_Prev_t method = (CFISH_StrIter_Prev_t)cfish_obj_method(self, CFISH_StrIter_Prev_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Advance’:
autogen/include/Clownfish/String.h:1234:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1234 |     const CFISH_StrIter_Advance_t method = (CFISH_StrIter_Advance_t)cfish_obj_method(self, CFISH_StrIter_Advance_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Recede’:
autogen/include/Clownfish/String.h:1245:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1245 |     const CFISH_StrIter_Recede_t method = (CFISH_StrIter_Recede_t)cfish_obj_method(self, CFISH_StrIter_Recede_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace’:
autogen/include/Clownfish/String.h:1256:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1256 |     const CFISH_StrIter_Skip_Whitespace_t method = (CFISH_StrIter_Skip_Whitespace_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_OFFSET);
      |                                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace_Back’:
autogen/include/Clownfish/String.h:1267:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1267 |     const CFISH_StrIter_Skip_Whitespace_Back_t method = (CFISH_StrIter_Skip_Whitespace_Back_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_Back_OFFSET);
      |                                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With’:
autogen/include/Clownfish/String.h:1278:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1278 |     const CFISH_StrIter_Starts_With_t method = (CFISH_StrIter_Starts_With_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:1289:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1289 |     const CFISH_StrIter_Starts_With_Utf8_t method = (CFISH_StrIter_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_Utf8_OFFSET);
      |                                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With’:
autogen/include/Clownfish/String.h:1300:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1300 |     const CFISH_StrIter_Ends_With_t method = (CFISH_StrIter_Ends_With_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:1311:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1311 |     const CFISH_StrIter_Ends_With_Utf8_t method = (CFISH_StrIter_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_Utf8_OFFSET);
      |                                                   ^
In file included from cftest/Clownfish/Test/TestVector.c:29:
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_To_Host’:
autogen/include/Clownfish/Boolean.h:159:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Boolean *, void *)’ [-Wcast-function-type]
  159 |     const CFISH_Bool_To_Host_t method = (CFISH_Bool_To_Host_t)cfish_obj_method(self, CFISH_Bool_To_Host_OFFSET);
      |                                         ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Clone’:
autogen/include/Clownfish/Boolean.h:170:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Boolean * (*)(cfish_Boolean *)’ [-Wcast-function-type]
  170 |     const CFISH_Bool_Clone_t method = (CFISH_Bool_Clone_t)cfish_obj_method(self, CFISH_Bool_Clone_OFFSET);
      |                                       ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Equals’:
autogen/include/Clownfish/Boolean.h:181:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Boolean *, cfish_Obj *)’ [-Wcast-function-type]
  181 |     const CFISH_Bool_Equals_t method = (CFISH_Bool_Equals_t)cfish_obj_method(self, CFISH_Bool_Equals_OFFSET);
      |                                        ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Compare_To’:
autogen/include/Clownfish/Boolean.h:192:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Boolean *, cfish_Obj *)’ {aka ‘int (*)(cfish_Boolean *, cfish_Obj *)’} [-Wcast-function-type]
  192 |     const CFISH_Bool_Compare_To_t method = (CFISH_Bool_Compare_To_t)cfish_obj_method(self, CFISH_Bool_Compare_To_OFFSET);
      |                                            ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_To_String’:
autogen/include/Clownfish/Boolean.h:214:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Boolean *)’ [-Wcast-function-type]
  214 |     const CFISH_Bool_To_String_t method = (CFISH_Bool_To_String_t)cfish_obj_method(self, CFISH_Bool_To_String_OFFSET);
      |                                           ^
autogen/include/Clownfish/Boolean.h: In function ‘CFISH_Bool_Get_Value’:
autogen/include/Clownfish/Boolean.h:225:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Boolean *)’ [-Wcast-function-type]
  225 |     const CFISH_Bool_Get_Value_t method = (CFISH_Bool_Get_Value_t)cfish_obj_method(self, CFISH_Bool_Get_Value_OFFSET);
      |                                           ^
In file included from cftest/Clownfish/Test/TestVector.c:31:
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_To_Host’:
autogen/include/Clownfish/Num.h:162:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Float *, void *)’ [-Wcast-function-type]
  162 |     const CFISH_Float_To_Host_t method = (CFISH_Float_To_Host_t)cfish_obj_method(self, CFISH_Float_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_Clone’:
autogen/include/Clownfish/Num.h:173:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Float * (*)(cfish_Float *)’ [-Wcast-function-type]
  173 |     const CFISH_Float_Clone_t method = (CFISH_Float_Clone_t)cfish_obj_method(self, CFISH_Float_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_Equals’:
autogen/include/Clownfish/Num.h:184:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Float *, cfish_Obj *)’ [-Wcast-function-type]
  184 |     const CFISH_Float_Equals_t method = (CFISH_Float_Equals_t)cfish_obj_method(self, CFISH_Float_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_Compare_To’:
autogen/include/Clownfish/Num.h:195:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Float *, cfish_Obj *)’ {aka ‘int (*)(cfish_Float *, cfish_Obj *)’} [-Wcast-function-type]
  195 |     const CFISH_Float_Compare_To_t method = (CFISH_Float_Compare_To_t)cfish_obj_method(self, CFISH_Float_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_To_String’:
autogen/include/Clownfish/Num.h:217:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Float *)’ [-Wcast-function-type]
  217 |     const CFISH_Float_To_String_t method = (CFISH_Float_To_String_t)cfish_obj_method(self, CFISH_Float_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_Get_Value’:
autogen/include/Clownfish/Num.h:228:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_Float *)’ [-Wcast-function-type]
  228 |     const CFISH_Float_Get_Value_t method = (CFISH_Float_Get_Value_t)cfish_obj_method(self, CFISH_Float_Get_Value_OFFSET);
      |                                            ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_To_I64’:
autogen/include/Clownfish/Num.h:239:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_Float *)’ {aka ‘long int (*)(cfish_Float *)’} [-Wcast-function-type]
  239 |     const CFISH_Float_To_I64_t method = (CFISH_Float_To_I64_t)cfish_obj_method(self, CFISH_Float_To_I64_OFFSET);
      |                                         ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_To_Host’:
autogen/include/Clownfish/Num.h:417:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Integer *, void *)’ [-Wcast-function-type]
  417 |     const CFISH_Int_To_Host_t method = (CFISH_Int_To_Host_t)cfish_obj_method(self, CFISH_Int_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_Clone’:
autogen/include/Clownfish/Num.h:428:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Integer * (*)(cfish_Integer *)’ [-Wcast-function-type]
  428 |     const CFISH_Int_Clone_t method = (CFISH_Int_Clone_t)cfish_obj_method(self, CFISH_Int_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_Equals’:
autogen/include/Clownfish/Num.h:439:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Integer *, cfish_Obj *)’ [-Wcast-function-type]
  439 |     const CFISH_Int_Equals_t method = (CFISH_Int_Equals_t)cfish_obj_method(self, CFISH_Int_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_Compare_To’:
autogen/include/Clownfish/Num.h:450:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Integer *, cfish_Obj *)’ {aka ‘int (*)(cfish_Integer *, cfish_Obj *)’} [-Wcast-function-type]
  450 |     const CFISH_Int_Compare_To_t method = (CFISH_Int_Compare_To_t)cfish_obj_method(self, CFISH_Int_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_To_String’:
autogen/include/Clownfish/Num.h:472:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Integer *)’ [-Wcast-function-type]
  472 |     const CFISH_Int_To_String_t method = (CFISH_Int_To_String_t)cfish_obj_method(self, CFISH_Int_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_Get_Value’:
autogen/include/Clownfish/Num.h:483:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_Integer *)’ {aka ‘long int (*)(cfish_Integer *)’} [-Wcast-function-type]
  483 |     const CFISH_Int_Get_Value_t method = (CFISH_Int_Get_Value_t)cfish_obj_method(self, CFISH_Int_Get_Value_OFFSET);
      |                                          ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_To_F64’:
autogen/include/Clownfish/Num.h:494:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_Integer *)’ [-Wcast-function-type]
  494 |     const CFISH_Int_To_F64_t method = (CFISH_Int_To_F64_t)cfish_obj_method(self, CFISH_Int_To_F64_OFFSET);
      |                                       ^
In file included from cftest/Clownfish/Test/TestVector.c:33:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
In file included from cftest/Clownfish/Test/TestVector.c:35:
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_To_Host’:
autogen/include/Clownfish/Vector.h:245:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Vector *, void *)’ [-Wcast-function-type]
  245 |     const CFISH_Vec_To_Host_t method = (CFISH_Vec_To_Host_t)cfish_obj_method(self, CFISH_Vec_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Clone’:
autogen/include/Clownfish/Vector.h:256:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Vector *)’ [-Wcast-function-type]
  256 |     const CFISH_Vec_Clone_t method = (CFISH_Vec_Clone_t)cfish_obj_method(self, CFISH_Vec_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Equals’:
autogen/include/Clownfish/Vector.h:267:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Vector *, cfish_Obj *)’ [-Wcast-function-type]
  267 |     const CFISH_Vec_Equals_t method = (CFISH_Vec_Equals_t)cfish_obj_method(self, CFISH_Vec_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Compare_To’:
autogen/include/Clownfish/Vector.h:278:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Vector *, cfish_Obj *)’ {aka ‘int (*)(cfish_Vector *, cfish_Obj *)’} [-Wcast-function-type]
  278 |     const CFISH_Vec_Compare_To_t method = (CFISH_Vec_Compare_To_t)cfish_obj_method(self, CFISH_Vec_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_To_String’:
autogen/include/Clownfish/Vector.h:300:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Vector *)’ [-Wcast-function-type]
  300 |     const CFISH_Vec_To_String_t method = (CFISH_Vec_To_String_t)cfish_obj_method(self, CFISH_Vec_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Push’:
autogen/include/Clownfish/Vector.h:311:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, cfish_Obj *)’ [-Wcast-function-type]
  311 |     const CFISH_Vec_Push_t method = (CFISH_Vec_Push_t)cfish_obj_method(self, CFISH_Vec_Push_OFFSET);
      |                                     ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Push_All’:
autogen/include/Clownfish/Vector.h:322:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, cfish_Vector *)’ [-Wcast-function-type]
  322 |     const CFISH_Vec_Push_All_t method = (CFISH_Vec_Push_All_t)cfish_obj_method(self, CFISH_Vec_Push_All_OFFSET);
      |                                         ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Pop’:
autogen/include/Clownfish/Vector.h:333:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Vector *)’ [-Wcast-function-type]
  333 |     const CFISH_Vec_Pop_t method = (CFISH_Vec_Pop_t)cfish_obj_method(self, CFISH_Vec_Pop_OFFSET);
      |                                    ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Insert’:
autogen/include/Clownfish/Vector.h:344:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  cfish_Obj *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Obj *)’} [-Wcast-function-type]
  344 |     const CFISH_Vec_Insert_t method = (CFISH_Vec_Insert_t)cfish_obj_method(self, CFISH_Vec_Insert_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Insert_All’:
autogen/include/Clownfish/Vector.h:355:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  cfish_Vector *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Vector *)’} [-Wcast-function-type]
  355 |     const CFISH_Vec_Insert_All_t method = (CFISH_Vec_Insert_All_t)cfish_obj_method(self, CFISH_Vec_Insert_All_OFFSET);
      |                                           ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Grow’:
autogen/include/Clownfish/Vector.h:366:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  366 |     const CFISH_Vec_Grow_t method = (CFISH_Vec_Grow_t)cfish_obj_method(self, CFISH_Vec_Grow_OFFSET);
      |                                     ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Fetch’:
autogen/include/Clownfish/Vector.h:377:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Vector *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  377 |     const CFISH_Vec_Fetch_t method = (CFISH_Vec_Fetch_t)cfish_obj_method(self, CFISH_Vec_Fetch_OFFSET);
      |                                      ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Store’:
autogen/include/Clownfish/Vector.h:388:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  cfish_Obj *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Obj *)’} [-Wcast-function-type]
  388 |     const CFISH_Vec_Store_t method = (CFISH_Vec_Store_t)cfish_obj_method(self, CFISH_Vec_Store_OFFSET);
      |                                      ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Delete’:
autogen/include/Clownfish/Vector.h:399:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Vector *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  399 |     const CFISH_Vec_Delete_t method = (CFISH_Vec_Delete_t)cfish_obj_method(self, CFISH_Vec_Delete_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Excise’:
autogen/include/Clownfish/Vector.h:410:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  410 |     const CFISH_Vec_Excise_t method = (CFISH_Vec_Excise_t)cfish_obj_method(self, CFISH_Vec_Excise_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Resize’:
autogen/include/Clownfish/Vector.h:432:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  432 |     const CFISH_Vec_Resize_t method = (CFISH_Vec_Resize_t)cfish_obj_method(self, CFISH_Vec_Resize_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Get_Size’:
autogen/include/Clownfish/Vector.h:454:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Vector *)’ {aka ‘long unsigned int (*)(cfish_Vector *)’} [-Wcast-function-type]
  454 |     const CFISH_Vec_Get_Size_t method = (CFISH_Vec_Get_Size_t)cfish_obj_method(self, CFISH_Vec_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Get_Capacity’:
autogen/include/Clownfish/Vector.h:465:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Vector *)’ {aka ‘long unsigned int (*)(cfish_Vector *)’} [-Wcast-function-type]
  465 |     const CFISH_Vec_Get_Capacity_t method = (CFISH_Vec_Get_Capacity_t)cfish_obj_method(self, CFISH_Vec_Get_Capacity_OFFSET);
      |                                             ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Slice’:
autogen/include/Clownfish/Vector.h:476:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Vector *, size_t,  size_t)’ {aka ‘cfish_Vector * (*)(cfish_Vector *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  476 |     const CFISH_Vec_Slice_t method = (CFISH_Vec_Slice_t)cfish_obj_method(self, CFISH_Vec_Slice_OFFSET);
      |                                      ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/Util/TestAtomic.c -c -o cftest/Clownfish/Test/Util/TestAtomic.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/Util/TestAtomic.h:40,
                 from cftest/Clownfish/Test/Util/TestAtomic.c:20:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_To_Host’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:130:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestAtomic *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestAtomic_To_Host_t method = (TESTCFISH_TestAtomic_To_Host_t)cfish_obj_method(self, TESTCFISH_TestAtomic_To_Host_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_Clone’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:137:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestAtomic *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestAtomic_Clone_t method = (TESTCFISH_TestAtomic_Clone_t)cfish_obj_method(self, TESTCFISH_TestAtomic_Clone_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_Equals’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:144:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestAtomic *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestAtomic_Equals_t method = (TESTCFISH_TestAtomic_Equals_t)cfish_obj_method(self, TESTCFISH_TestAtomic_Equals_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_Compare_To’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:151:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestAtomic *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestAtomic *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestAtomic_Compare_To_t method = (TESTCFISH_TestAtomic_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestAtomic_Compare_To_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_To_String’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:165:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestAtomic *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestAtomic_To_String_t method = (TESTCFISH_TestAtomic_To_String_t)cfish_obj_method(self, TESTCFISH_TestAtomic_To_String_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_Run’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:172:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestAtomic *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestAtomic_Run_t method = (TESTCFISH_TestAtomic_Run_t)cfish_obj_method(self, TESTCFISH_TestAtomic_Run_OFFSET);
      |                                               ^
In file included from cftest/Clownfish/Test/Util/TestAtomic.c:23:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
In file included from cftest/Clownfish/Test/Util/TestAtomic.c:25:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH cftest/Clownfish/Test/Util/TestMemory.c -c -o cftest/Clownfish/Test/Util/TestMemory.o
In file included from autogen/include/Clownfish/TestHarness/TestBatch.h:40,
                 from autogen/include/Clownfish/Test/Util/TestMemory.h:40,
                 from cftest/Clownfish/Test/Util/TestMemory.c:22:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_To_Host’:
autogen/include/Clownfish/Test/Util/TestMemory.h:130:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestMemory *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestMemory_To_Host_t method = (TESTCFISH_TestMemory_To_Host_t)cfish_obj_method(self, TESTCFISH_TestMemory_To_Host_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_Clone’:
autogen/include/Clownfish/Test/Util/TestMemory.h:137:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestMemory *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestMemory_Clone_t method = (TESTCFISH_TestMemory_Clone_t)cfish_obj_method(self, TESTCFISH_TestMemory_Clone_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_Equals’:
autogen/include/Clownfish/Test/Util/TestMemory.h:144:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestMemory *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestMemory_Equals_t method = (TESTCFISH_TestMemory_Equals_t)cfish_obj_method(self, TESTCFISH_TestMemory_Equals_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_Compare_To’:
autogen/include/Clownfish/Test/Util/TestMemory.h:151:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestMemory *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestMemory *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestMemory_Compare_To_t method = (TESTCFISH_TestMemory_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestMemory_Compare_To_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_To_String’:
autogen/include/Clownfish/Test/Util/TestMemory.h:165:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestMemory *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestMemory_To_String_t method = (TESTCFISH_TestMemory_To_String_t)cfish_obj_method(self, TESTCFISH_TestMemory_To_String_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_Run’:
autogen/include/Clownfish/Test/Util/TestMemory.h:172:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestMemory *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestMemory_Run_t method = (TESTCFISH_TestMemory_Run_t)cfish_obj_method(self, TESTCFISH_TestMemory_Run_OFFSET);
      |                                               ^
In file included from cftest/Clownfish/Test/Util/TestMemory.c:25:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:251:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatchRunner *, void *)’ [-Wcast-function-type]
  251 |     const CFISH_TestBatchRunner_To_Host_t method = (CFISH_TestBatchRunner_To_Host_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Clone’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:258:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  258 |     const CFISH_TestBatchRunner_Clone_t method = (CFISH_TestBatchRunner_Clone_t)cfish_obj_method(self, CFISH_TestBatchRunner_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:265:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_Obj *)’ [-Wcast-function-type]
  265 |     const CFISH_TestBatchRunner_Equals_t method = (CFISH_TestBatchRunner_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:272:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatchRunner *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatchRunner *, cfish_Obj *)’} [-Wcast-function-type]
  272 |     const CFISH_TestBatchRunner_Compare_To_t method = (CFISH_TestBatchRunner_Compare_To_t)cfish_obj_method(self, CFISH_TestBatchRunner_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_To_String’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:286:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatchRunner *)’ [-Wcast-function-type]
  286 |     const CFISH_TestBatchRunner_To_String_t method = (CFISH_TestBatchRunner_To_String_t)cfish_obj_method(self, CFISH_TestBatchRunner_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Run_Batch’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:293:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, cfish_TestBatch *)’ [-Wcast-function-type]
  293 |     const CFISH_TestBatchRunner_Run_Batch_t method = (CFISH_TestBatchRunner_Run_Batch_t)cfish_obj_method(self, CFISH_TestBatchRunner_Run_Batch_OFFSET);
      |                                                      ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Plan’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:300:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, uint32_t)’ {aka ‘void (*)(cfish_TestBatchRunner *, cfish_TestBatch *, unsigned int)’} [-Wcast-function-type]
  300 |     const CFISH_TestBatchRunner_Plan_t method = (CFISH_TestBatchRunner_Plan_t)cfish_obj_method(self, CFISH_TestBatchRunner_Plan_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Planned’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:307:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  307 |     const CFISH_TestBatchRunner_Get_Num_Planned_t method = (CFISH_TestBatchRunner_Get_Num_Planned_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Planned_OFFSET);
      |                                                            ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Tests’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:314:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  314 |     const CFISH_TestBatchRunner_Get_Num_Tests_t method = (CFISH_TestBatchRunner_Get_Num_Tests_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Tests_OFFSET);
      |                                                          ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_Get_Num_Failed’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:321:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_TestBatchRunner *)’ {aka ‘unsigned int (*)(cfish_TestBatchRunner *)’} [-Wcast-function-type]
  321 |     const CFISH_TestBatchRunner_Get_Num_Failed_t method = (CFISH_TestBatchRunner_Get_Num_Failed_t)cfish_obj_method(self, CFISH_TestBatchRunner_Get_Num_Failed_OFFSET);
      |                                                           ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_True’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:328:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  328 |     const CFISH_TestBatchRunner_VTest_True_t method = (CFISH_TestBatchRunner_VTest_True_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_True_OFFSET);
      |                                                       ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_False’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:335:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, _Bool,  const char *, va_list)’ [-Wcast-function-type]
  335 |     const CFISH_TestBatchRunner_VTest_False_t method = (CFISH_TestBatchRunner_VTest_False_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_False_OFFSET);
      |                                                        ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Int_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:342:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, int64_t,  int64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long int,  long int,  const char *, va_list)’} [-Wcast-function-type]
  342 |     const CFISH_TestBatchRunner_VTest_Int_Equals_t method = (CFISH_TestBatchRunner_VTest_Int_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Int_Equals_OFFSET);
      |                                                             ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_UInt_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:349:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, uint64_t,  uint64_t,  const char *, va_list)’ {aka ‘_Bool (*)(cfish_TestBatchRunner *, long unsigned int,  long unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  349 |     const CFISH_TestBatchRunner_VTest_UInt_Equals_t method = (CFISH_TestBatchRunner_VTest_UInt_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_UInt_Equals_OFFSET);
      |                                                              ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_Float_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:356:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, double,  double,  const char *, va_list)’ [-Wcast-function-type]
  356 |     const CFISH_TestBatchRunner_VTest_Float_Equals_t method = (CFISH_TestBatchRunner_VTest_Float_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_Float_Equals_OFFSET);
      |                                                               ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VTest_String_Equals’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:363:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, const char *, const char *, va_list)’ [-Wcast-function-type]
  363 |     const CFISH_TestBatchRunner_VTest_String_Equals_t method = (CFISH_TestBatchRunner_VTest_String_Equals_t)cfish_obj_method(self, CFISH_TestBatchRunner_VTest_String_Equals_OFFSET);
      |                                                                ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VPass’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:370:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  370 |     const CFISH_TestBatchRunner_VPass_t method = (CFISH_TestBatchRunner_VPass_t)cfish_obj_method(self, CFISH_TestBatchRunner_VPass_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VFail’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:377:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatchRunner *, const char *, va_list)’ [-Wcast-function-type]
  377 |     const CFISH_TestBatchRunner_VFail_t method = (CFISH_TestBatchRunner_VFail_t)cfish_obj_method(self, CFISH_TestBatchRunner_VFail_OFFSET);
      |                                                  ^
autogen/include/Clownfish/TestHarness/TestBatchRunner.h: In function ‘CFISH_TestBatchRunner_VSkip’:
autogen/include/Clownfish/TestHarness/TestBatchRunner.h:384:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatchRunner *, uint32_t,  const char *, va_list)’ {aka ‘void (*)(cfish_TestBatchRunner *, unsigned int,  const char *, va_list)’} [-Wcast-function-type]
  384 |     const CFISH_TestBatchRunner_VSkip_t method = (CFISH_TestBatchRunner_VSkip_t)cfish_obj_method(self, CFISH_TestBatchRunner_VSkip_OFFSET);
      |                                                  ^
In file included from cftest/Clownfish/Test/Util/TestMemory.c:27:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
gcc -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE -fvisibility=hidden -O2 -g -fno-strict-aliasing -I . -I cfcore -I autogen/include -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -fPIC -D CFP_TESTCFISH autogen/source/testcfish_parcel.c -c -o autogen/source/testcfish_parcel.o
In file included from autogen/include/Clownfish/Class.h:40,
                 from autogen/source/testcfish_parcel.c:51:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
In file included from autogen/source/testcfish_parcel.c:52:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
In file included from autogen/include/Clownfish/Test/TestBlob.h:40,
                 from autogen/source/testcfish_parcel.c:53:
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_To_Host’:
autogen/include/Clownfish/Test/TestBlob.h:130:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestBlob *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestBlob_To_Host_t method = (TESTCFISH_TestBlob_To_Host_t)cfish_obj_method(self, TESTCFISH_TestBlob_To_Host_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_Clone’:
autogen/include/Clownfish/Test/TestBlob.h:137:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestBlob *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestBlob_Clone_t method = (TESTCFISH_TestBlob_Clone_t)cfish_obj_method(self, TESTCFISH_TestBlob_Clone_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_Equals’:
autogen/include/Clownfish/Test/TestBlob.h:144:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestBlob *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestBlob_Equals_t method = (TESTCFISH_TestBlob_Equals_t)cfish_obj_method(self, TESTCFISH_TestBlob_Equals_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_Compare_To’:
autogen/include/Clownfish/Test/TestBlob.h:151:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestBlob *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestBlob *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestBlob_Compare_To_t method = (TESTCFISH_TestBlob_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestBlob_Compare_To_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_To_String’:
autogen/include/Clownfish/Test/TestBlob.h:165:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestBlob *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestBlob_To_String_t method = (TESTCFISH_TestBlob_To_String_t)cfish_obj_method(self, TESTCFISH_TestBlob_To_String_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_Run’:
autogen/include/Clownfish/Test/TestBlob.h:172:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestBlob *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestBlob_Run_t method = (TESTCFISH_TestBlob_Run_t)cfish_obj_method(self, TESTCFISH_TestBlob_Run_OFFSET);
      |                                             ^
In file included from autogen/source/testcfish_parcel.c:54:
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_To_Host’:
autogen/include/Clownfish/Test/TestBoolean.h:130:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestBoolean *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestBoolean_To_Host_t method = (TESTCFISH_TestBoolean_To_Host_t)cfish_obj_method(self, TESTCFISH_TestBoolean_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_Clone’:
autogen/include/Clownfish/Test/TestBoolean.h:137:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestBoolean *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestBoolean_Clone_t method = (TESTCFISH_TestBoolean_Clone_t)cfish_obj_method(self, TESTCFISH_TestBoolean_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_Equals’:
autogen/include/Clownfish/Test/TestBoolean.h:144:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestBoolean *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestBoolean_Equals_t method = (TESTCFISH_TestBoolean_Equals_t)cfish_obj_method(self, TESTCFISH_TestBoolean_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_Compare_To’:
autogen/include/Clownfish/Test/TestBoolean.h:151:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestBoolean *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestBoolean *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestBoolean_Compare_To_t method = (TESTCFISH_TestBoolean_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestBoolean_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_To_String’:
autogen/include/Clownfish/Test/TestBoolean.h:165:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestBoolean *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestBoolean_To_String_t method = (TESTCFISH_TestBoolean_To_String_t)cfish_obj_method(self, TESTCFISH_TestBoolean_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_Run’:
autogen/include/Clownfish/Test/TestBoolean.h:172:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestBoolean *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestBoolean_Run_t method = (TESTCFISH_TestBoolean_Run_t)cfish_obj_method(self, TESTCFISH_TestBoolean_Run_OFFSET);
      |                                                ^
In file included from autogen/source/testcfish_parcel.c:55:
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_To_Host’:
autogen/include/Clownfish/Test/TestByteBuf.h:130:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestByteBuf *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestBB_To_Host_t method = (TESTCFISH_TestBB_To_Host_t)cfish_obj_method(self, TESTCFISH_TestBB_To_Host_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_Clone’:
autogen/include/Clownfish/Test/TestByteBuf.h:137:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestByteBuf *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestBB_Clone_t method = (TESTCFISH_TestBB_Clone_t)cfish_obj_method(self, TESTCFISH_TestBB_Clone_OFFSET);
      |                                             ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_Equals’:
autogen/include/Clownfish/Test/TestByteBuf.h:144:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestByteBuf *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestBB_Equals_t method = (TESTCFISH_TestBB_Equals_t)cfish_obj_method(self, TESTCFISH_TestBB_Equals_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_Compare_To’:
autogen/include/Clownfish/Test/TestByteBuf.h:151:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestByteBuf *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestByteBuf *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestBB_Compare_To_t method = (TESTCFISH_TestBB_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestBB_Compare_To_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_To_String’:
autogen/include/Clownfish/Test/TestByteBuf.h:165:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestByteBuf *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestBB_To_String_t method = (TESTCFISH_TestBB_To_String_t)cfish_obj_method(self, TESTCFISH_TestBB_To_String_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_Run’:
autogen/include/Clownfish/Test/TestByteBuf.h:172:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestByteBuf *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestBB_Run_t method = (TESTCFISH_TestBB_Run_t)cfish_obj_method(self, TESTCFISH_TestBB_Run_OFFSET);
      |                                           ^
In file included from autogen/source/testcfish_parcel.c:56:
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_To_Host’:
autogen/include/Clownfish/Test/TestCharBuf.h:130:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestCharBuf *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestCB_To_Host_t method = (TESTCFISH_TestCB_To_Host_t)cfish_obj_method(self, TESTCFISH_TestCB_To_Host_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_Clone’:
autogen/include/Clownfish/Test/TestCharBuf.h:137:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestCharBuf *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestCB_Clone_t method = (TESTCFISH_TestCB_Clone_t)cfish_obj_method(self, TESTCFISH_TestCB_Clone_OFFSET);
      |                                             ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_Equals’:
autogen/include/Clownfish/Test/TestCharBuf.h:144:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestCharBuf *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestCB_Equals_t method = (TESTCFISH_TestCB_Equals_t)cfish_obj_method(self, TESTCFISH_TestCB_Equals_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_Compare_To’:
autogen/include/Clownfish/Test/TestCharBuf.h:151:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestCharBuf *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestCharBuf *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestCB_Compare_To_t method = (TESTCFISH_TestCB_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestCB_Compare_To_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_To_String’:
autogen/include/Clownfish/Test/TestCharBuf.h:165:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestCharBuf *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestCB_To_String_t method = (TESTCFISH_TestCB_To_String_t)cfish_obj_method(self, TESTCFISH_TestCB_To_String_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_Run’:
autogen/include/Clownfish/Test/TestCharBuf.h:172:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestCharBuf *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestCB_Run_t method = (TESTCFISH_TestCB_Run_t)cfish_obj_method(self, TESTCFISH_TestCB_Run_OFFSET);
      |                                           ^
In file included from autogen/source/testcfish_parcel.c:57:
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_To_Host’:
autogen/include/Clownfish/Test/TestClass.h:130:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestClass *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestClass_To_Host_t method = (TESTCFISH_TestClass_To_Host_t)cfish_obj_method(self, TESTCFISH_TestClass_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_Clone’:
autogen/include/Clownfish/Test/TestClass.h:137:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestClass *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestClass_Clone_t method = (TESTCFISH_TestClass_Clone_t)cfish_obj_method(self, TESTCFISH_TestClass_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_Equals’:
autogen/include/Clownfish/Test/TestClass.h:144:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestClass *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestClass_Equals_t method = (TESTCFISH_TestClass_Equals_t)cfish_obj_method(self, TESTCFISH_TestClass_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_Compare_To’:
autogen/include/Clownfish/Test/TestClass.h:151:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestClass *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestClass *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestClass_Compare_To_t method = (TESTCFISH_TestClass_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestClass_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_To_String’:
autogen/include/Clownfish/Test/TestClass.h:165:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestClass *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestClass_To_String_t method = (TESTCFISH_TestClass_To_String_t)cfish_obj_method(self, TESTCFISH_TestClass_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_Run’:
autogen/include/Clownfish/Test/TestClass.h:172:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestClass *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestClass_Run_t method = (TESTCFISH_TestClass_Run_t)cfish_obj_method(self, TESTCFISH_TestClass_Run_OFFSET);
      |                                              ^
In file included from autogen/source/testcfish_parcel.c:58:
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_To_Host’:
autogen/include/Clownfish/Test/TestErr.h:130:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestErr *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestErr_To_Host_t method = (TESTCFISH_TestErr_To_Host_t)cfish_obj_method(self, TESTCFISH_TestErr_To_Host_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_Clone’:
autogen/include/Clownfish/Test/TestErr.h:137:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestErr *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestErr_Clone_t method = (TESTCFISH_TestErr_Clone_t)cfish_obj_method(self, TESTCFISH_TestErr_Clone_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_Equals’:
autogen/include/Clownfish/Test/TestErr.h:144:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestErr *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestErr_Equals_t method = (TESTCFISH_TestErr_Equals_t)cfish_obj_method(self, TESTCFISH_TestErr_Equals_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_Compare_To’:
autogen/include/Clownfish/Test/TestErr.h:151:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestErr *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestErr *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestErr_Compare_To_t method = (TESTCFISH_TestErr_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestErr_Compare_To_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_To_String’:
autogen/include/Clownfish/Test/TestErr.h:165:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestErr *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestErr_To_String_t method = (TESTCFISH_TestErr_To_String_t)cfish_obj_method(self, TESTCFISH_TestErr_To_String_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_Run’:
autogen/include/Clownfish/Test/TestErr.h:172:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestErr *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestErr_Run_t method = (TESTCFISH_TestErr_Run_t)cfish_obj_method(self, TESTCFISH_TestErr_Run_OFFSET);
      |                                            ^
In file included from autogen/source/testcfish_parcel.c:59:
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_To_Host’:
autogen/include/Clownfish/Test/TestHash.h:130:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestHash *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestHash_To_Host_t method = (TESTCFISH_TestHash_To_Host_t)cfish_obj_method(self, TESTCFISH_TestHash_To_Host_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_Clone’:
autogen/include/Clownfish/Test/TestHash.h:137:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHash *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestHash_Clone_t method = (TESTCFISH_TestHash_Clone_t)cfish_obj_method(self, TESTCFISH_TestHash_Clone_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_Equals’:
autogen/include/Clownfish/Test/TestHash.h:144:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHash *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestHash_Equals_t method = (TESTCFISH_TestHash_Equals_t)cfish_obj_method(self, TESTCFISH_TestHash_Equals_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_Compare_To’:
autogen/include/Clownfish/Test/TestHash.h:151:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHash *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestHash *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestHash_Compare_To_t method = (TESTCFISH_TestHash_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestHash_Compare_To_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_To_String’:
autogen/include/Clownfish/Test/TestHash.h:165:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHash *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestHash_To_String_t method = (TESTCFISH_TestHash_To_String_t)cfish_obj_method(self, TESTCFISH_TestHash_To_String_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_Run’:
autogen/include/Clownfish/Test/TestHash.h:172:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestHash *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestHash_Run_t method = (TESTCFISH_TestHash_Run_t)cfish_obj_method(self, TESTCFISH_TestHash_Run_OFFSET);
      |                                             ^
In file included from autogen/source/testcfish_parcel.c:60:
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_To_Host’:
autogen/include/Clownfish/Test/TestHashIterator.h:130:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestHashIterator *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestHashIterator_To_Host_t method = (TESTCFISH_TestHashIterator_To_Host_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_To_Host_OFFSET);
      |                                                         ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_Clone’:
autogen/include/Clownfish/Test/TestHashIterator.h:137:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHashIterator *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestHashIterator_Clone_t method = (TESTCFISH_TestHashIterator_Clone_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_Clone_OFFSET);
      |                                                       ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_Equals’:
autogen/include/Clownfish/Test/TestHashIterator.h:144:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHashIterator *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestHashIterator_Equals_t method = (TESTCFISH_TestHashIterator_Equals_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_Equals_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_Compare_To’:
autogen/include/Clownfish/Test/TestHashIterator.h:151:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHashIterator *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestHashIterator *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestHashIterator_Compare_To_t method = (TESTCFISH_TestHashIterator_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_Compare_To_OFFSET);
      |                                                            ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_To_String’:
autogen/include/Clownfish/Test/TestHashIterator.h:165:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHashIterator *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestHashIterator_To_String_t method = (TESTCFISH_TestHashIterator_To_String_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_To_String_OFFSET);
      |                                                           ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_Run’:
autogen/include/Clownfish/Test/TestHashIterator.h:172:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestHashIterator *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestHashIterator_Run_t method = (TESTCFISH_TestHashIterator_Run_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_Run_OFFSET);
      |                                                     ^
In file included from autogen/source/testcfish_parcel.c:61:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_To_Host’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:130:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestLockFreeRegistry *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestLFReg_To_Host_t method = (TESTCFISH_TestLFReg_To_Host_t)cfish_obj_method(self, TESTCFISH_TestLFReg_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_Clone’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:137:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestLockFreeRegistry *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestLFReg_Clone_t method = (TESTCFISH_TestLFReg_Clone_t)cfish_obj_method(self, TESTCFISH_TestLFReg_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_Equals’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:144:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestLockFreeRegistry *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestLFReg_Equals_t method = (TESTCFISH_TestLFReg_Equals_t)cfish_obj_method(self, TESTCFISH_TestLFReg_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_Compare_To’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:151:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestLockFreeRegistry *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestLockFreeRegistry *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestLFReg_Compare_To_t method = (TESTCFISH_TestLFReg_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestLFReg_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_To_String’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:165:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestLockFreeRegistry *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestLFReg_To_String_t method = (TESTCFISH_TestLFReg_To_String_t)cfish_obj_method(self, TESTCFISH_TestLFReg_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_Run’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:172:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestLockFreeRegistry *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestLFReg_Run_t method = (TESTCFISH_TestLFReg_Run_t)cfish_obj_method(self, TESTCFISH_TestLFReg_Run_OFFSET);
      |                                              ^
In file included from autogen/source/testcfish_parcel.c:62:
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_To_Host’:
autogen/include/Clownfish/Test/TestMethod.h:130:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestMethod *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestMethod_To_Host_t method = (TESTCFISH_TestMethod_To_Host_t)cfish_obj_method(self, TESTCFISH_TestMethod_To_Host_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_Clone’:
autogen/include/Clownfish/Test/TestMethod.h:137:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestMethod *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestMethod_Clone_t method = (TESTCFISH_TestMethod_Clone_t)cfish_obj_method(self, TESTCFISH_TestMethod_Clone_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_Equals’:
autogen/include/Clownfish/Test/TestMethod.h:144:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestMethod *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestMethod_Equals_t method = (TESTCFISH_TestMethod_Equals_t)cfish_obj_method(self, TESTCFISH_TestMethod_Equals_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_Compare_To’:
autogen/include/Clownfish/Test/TestMethod.h:151:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestMethod *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestMethod *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestMethod_Compare_To_t method = (TESTCFISH_TestMethod_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestMethod_Compare_To_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_To_String’:
autogen/include/Clownfish/Test/TestMethod.h:165:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestMethod *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestMethod_To_String_t method = (TESTCFISH_TestMethod_To_String_t)cfish_obj_method(self, TESTCFISH_TestMethod_To_String_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_Run’:
autogen/include/Clownfish/Test/TestMethod.h:172:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestMethod *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestMethod_Run_t method = (TESTCFISH_TestMethod_Run_t)cfish_obj_method(self, TESTCFISH_TestMethod_Run_OFFSET);
      |                                               ^
In file included from autogen/source/testcfish_parcel.c:63:
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_To_Host’:
autogen/include/Clownfish/Test/TestNum.h:130:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestNum *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestNum_To_Host_t method = (TESTCFISH_TestNum_To_Host_t)cfish_obj_method(self, TESTCFISH_TestNum_To_Host_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_Clone’:
autogen/include/Clownfish/Test/TestNum.h:137:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestNum *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestNum_Clone_t method = (TESTCFISH_TestNum_Clone_t)cfish_obj_method(self, TESTCFISH_TestNum_Clone_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_Equals’:
autogen/include/Clownfish/Test/TestNum.h:144:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestNum *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestNum_Equals_t method = (TESTCFISH_TestNum_Equals_t)cfish_obj_method(self, TESTCFISH_TestNum_Equals_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_Compare_To’:
autogen/include/Clownfish/Test/TestNum.h:151:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestNum *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestNum *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestNum_Compare_To_t method = (TESTCFISH_TestNum_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestNum_Compare_To_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_To_String’:
autogen/include/Clownfish/Test/TestNum.h:165:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestNum *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestNum_To_String_t method = (TESTCFISH_TestNum_To_String_t)cfish_obj_method(self, TESTCFISH_TestNum_To_String_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_Run’:
autogen/include/Clownfish/Test/TestNum.h:172:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestNum *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestNum_Run_t method = (TESTCFISH_TestNum_Run_t)cfish_obj_method(self, TESTCFISH_TestNum_Run_OFFSET);
      |                                            ^
In file included from autogen/source/testcfish_parcel.c:64:
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_To_Host’:
autogen/include/Clownfish/Test/TestObj.h:130:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestObj *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestObj_To_Host_t method = (TESTCFISH_TestObj_To_Host_t)cfish_obj_method(self, TESTCFISH_TestObj_To_Host_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_Clone’:
autogen/include/Clownfish/Test/TestObj.h:137:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestObj *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestObj_Clone_t method = (TESTCFISH_TestObj_Clone_t)cfish_obj_method(self, TESTCFISH_TestObj_Clone_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_Equals’:
autogen/include/Clownfish/Test/TestObj.h:144:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestObj *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestObj_Equals_t method = (TESTCFISH_TestObj_Equals_t)cfish_obj_method(self, TESTCFISH_TestObj_Equals_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_Compare_To’:
autogen/include/Clownfish/Test/TestObj.h:151:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestObj *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestObj *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestObj_Compare_To_t method = (TESTCFISH_TestObj_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestObj_Compare_To_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_To_String’:
autogen/include/Clownfish/Test/TestObj.h:165:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestObj *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestObj_To_String_t method = (TESTCFISH_TestObj_To_String_t)cfish_obj_method(self, TESTCFISH_TestObj_To_String_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_Run’:
autogen/include/Clownfish/Test/TestObj.h:172:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestObj *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestObj_Run_t method = (TESTCFISH_TestObj_Run_t)cfish_obj_method(self, TESTCFISH_TestObj_Run_OFFSET);
      |                                            ^
In file included from autogen/source/testcfish_parcel.c:65:
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_To_Host’:
autogen/include/Clownfish/Test/TestPtrHash.h:130:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestPtrHash *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestPtrHash_To_Host_t method = (TESTCFISH_TestPtrHash_To_Host_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_Clone’:
autogen/include/Clownfish/Test/TestPtrHash.h:137:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestPtrHash *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestPtrHash_Clone_t method = (TESTCFISH_TestPtrHash_Clone_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_Equals’:
autogen/include/Clownfish/Test/TestPtrHash.h:144:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestPtrHash *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestPtrHash_Equals_t method = (TESTCFISH_TestPtrHash_Equals_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_Compare_To’:
autogen/include/Clownfish/Test/TestPtrHash.h:151:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestPtrHash *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestPtrHash *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestPtrHash_Compare_To_t method = (TESTCFISH_TestPtrHash_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_To_String’:
autogen/include/Clownfish/Test/TestPtrHash.h:165:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestPtrHash *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestPtrHash_To_String_t method = (TESTCFISH_TestPtrHash_To_String_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_Run’:
autogen/include/Clownfish/Test/TestPtrHash.h:172:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestPtrHash *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestPtrHash_Run_t method = (TESTCFISH_TestPtrHash_Run_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_Run_OFFSET);
      |                                                ^
In file included from autogen/source/testcfish_parcel.c:66:
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_To_Host’:
autogen/include/Clownfish/Test/TestString.h:130:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestString *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestStr_To_Host_t method = (TESTCFISH_TestStr_To_Host_t)cfish_obj_method(self, TESTCFISH_TestStr_To_Host_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_Clone’:
autogen/include/Clownfish/Test/TestString.h:137:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestString *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestStr_Clone_t method = (TESTCFISH_TestStr_Clone_t)cfish_obj_method(self, TESTCFISH_TestStr_Clone_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_Equals’:
autogen/include/Clownfish/Test/TestString.h:144:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestString *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestStr_Equals_t method = (TESTCFISH_TestStr_Equals_t)cfish_obj_method(self, TESTCFISH_TestStr_Equals_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_Compare_To’:
autogen/include/Clownfish/Test/TestString.h:151:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestString *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestString *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestStr_Compare_To_t method = (TESTCFISH_TestStr_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestStr_Compare_To_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_To_String’:
autogen/include/Clownfish/Test/TestString.h:165:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestString *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestStr_To_String_t method = (TESTCFISH_TestStr_To_String_t)cfish_obj_method(self, TESTCFISH_TestStr_To_String_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_Run’:
autogen/include/Clownfish/Test/TestString.h:172:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestString *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestStr_Run_t method = (TESTCFISH_TestStr_Run_t)cfish_obj_method(self, TESTCFISH_TestStr_Run_OFFSET);
      |                                            ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_To_Host’:
autogen/include/Clownfish/Test/TestString.h:311:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_StringCallbackTest *, void *)’ [-Wcast-function-type]
  311 |     const TESTCFISH_StrCbTest_To_Host_t method = (TESTCFISH_StrCbTest_To_Host_t)cfish_obj_method(self, TESTCFISH_StrCbTest_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_Clone’:
autogen/include/Clownfish/Test/TestString.h:318:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_StringCallbackTest *)’ [-Wcast-function-type]
  318 |     const TESTCFISH_StrCbTest_Clone_t method = (TESTCFISH_StrCbTest_Clone_t)cfish_obj_method(self, TESTCFISH_StrCbTest_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_Equals’:
autogen/include/Clownfish/Test/TestString.h:325:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_StringCallbackTest *, cfish_Obj *)’ [-Wcast-function-type]
  325 |     const TESTCFISH_StrCbTest_Equals_t method = (TESTCFISH_StrCbTest_Equals_t)cfish_obj_method(self, TESTCFISH_StrCbTest_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_Compare_To’:
autogen/include/Clownfish/Test/TestString.h:332:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_StringCallbackTest *, cfish_Obj *)’ {aka ‘int (*)(testcfish_StringCallbackTest *, cfish_Obj *)’} [-Wcast-function-type]
  332 |     const TESTCFISH_StrCbTest_Compare_To_t method = (TESTCFISH_StrCbTest_Compare_To_t)cfish_obj_method(self, TESTCFISH_StrCbTest_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_To_String’:
autogen/include/Clownfish/Test/TestString.h:346:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_StringCallbackTest *)’ [-Wcast-function-type]
  346 |     const TESTCFISH_StrCbTest_To_String_t method = (TESTCFISH_StrCbTest_To_String_t)cfish_obj_method(self, TESTCFISH_StrCbTest_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_Unchanged_By_Callback’:
autogen/include/Clownfish/Test/TestString.h:353:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_StringCallbackTest *, cfish_String *)’ [-Wcast-function-type]
  353 |     const TESTCFISH_StrCbTest_Unchanged_By_Callback_t method = (TESTCFISH_StrCbTest_Unchanged_By_Callback_t)cfish_obj_method(self, TESTCFISH_StrCbTest_Unchanged_By_Callback_OFFSET);
      |                                                                ^
In file included from autogen/source/testcfish_parcel.c:67:
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_To_Host’:
autogen/include/Clownfish/Test/TestVector.h:130:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestVector *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestVector_To_Host_t method = (TESTCFISH_TestVector_To_Host_t)cfish_obj_method(self, TESTCFISH_TestVector_To_Host_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_Clone’:
autogen/include/Clownfish/Test/TestVector.h:137:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestVector *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestVector_Clone_t method = (TESTCFISH_TestVector_Clone_t)cfish_obj_method(self, TESTCFISH_TestVector_Clone_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_Equals’:
autogen/include/Clownfish/Test/TestVector.h:144:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestVector *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestVector_Equals_t method = (TESTCFISH_TestVector_Equals_t)cfish_obj_method(self, TESTCFISH_TestVector_Equals_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_Compare_To’:
autogen/include/Clownfish/Test/TestVector.h:151:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestVector *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestVector *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestVector_Compare_To_t method = (TESTCFISH_TestVector_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestVector_Compare_To_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_To_String’:
autogen/include/Clownfish/Test/TestVector.h:165:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestVector *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestVector_To_String_t method = (TESTCFISH_TestVector_To_String_t)cfish_obj_method(self, TESTCFISH_TestVector_To_String_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_Run’:
autogen/include/Clownfish/Test/TestVector.h:172:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestVector *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestVector_Run_t method = (TESTCFISH_TestVector_Run_t)cfish_obj_method(self, TESTCFISH_TestVector_Run_OFFSET);
      |                                               ^
In file included from autogen/source/testcfish_parcel.c:68:
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_To_Host’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:130:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestAtomic *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestAtomic_To_Host_t method = (TESTCFISH_TestAtomic_To_Host_t)cfish_obj_method(self, TESTCFISH_TestAtomic_To_Host_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_Clone’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:137:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestAtomic *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestAtomic_Clone_t method = (TESTCFISH_TestAtomic_Clone_t)cfish_obj_method(self, TESTCFISH_TestAtomic_Clone_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_Equals’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:144:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestAtomic *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestAtomic_Equals_t method = (TESTCFISH_TestAtomic_Equals_t)cfish_obj_method(self, TESTCFISH_TestAtomic_Equals_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_Compare_To’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:151:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestAtomic *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestAtomic *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestAtomic_Compare_To_t method = (TESTCFISH_TestAtomic_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestAtomic_Compare_To_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_To_String’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:165:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestAtomic *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestAtomic_To_String_t method = (TESTCFISH_TestAtomic_To_String_t)cfish_obj_method(self, TESTCFISH_TestAtomic_To_String_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_Run’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:172:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestAtomic *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestAtomic_Run_t method = (TESTCFISH_TestAtomic_Run_t)cfish_obj_method(self, TESTCFISH_TestAtomic_Run_OFFSET);
      |                                               ^
In file included from autogen/source/testcfish_parcel.c:69:
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_To_Host’:
autogen/include/Clownfish/Test/Util/TestMemory.h:130:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestMemory *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestMemory_To_Host_t method = (TESTCFISH_TestMemory_To_Host_t)cfish_obj_method(self, TESTCFISH_TestMemory_To_Host_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_Clone’:
autogen/include/Clownfish/Test/Util/TestMemory.h:137:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestMemory *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestMemory_Clone_t method = (TESTCFISH_TestMemory_Clone_t)cfish_obj_method(self, TESTCFISH_TestMemory_Clone_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_Equals’:
autogen/include/Clownfish/Test/Util/TestMemory.h:144:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestMemory *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestMemory_Equals_t method = (TESTCFISH_TestMemory_Equals_t)cfish_obj_method(self, TESTCFISH_TestMemory_Equals_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_Compare_To’:
autogen/include/Clownfish/Test/Util/TestMemory.h:151:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestMemory *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestMemory *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestMemory_Compare_To_t method = (TESTCFISH_TestMemory_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestMemory_Compare_To_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_To_String’:
autogen/include/Clownfish/Test/Util/TestMemory.h:165:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestMemory *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestMemory_To_String_t method = (TESTCFISH_TestMemory_To_String_t)cfish_obj_method(self, TESTCFISH_TestMemory_To_String_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_Run’:
autogen/include/Clownfish/Test/Util/TestMemory.h:172:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestMemory *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestMemory_Run_t method = (TESTCFISH_TestMemory_Run_t)cfish_obj_method(self, TESTCFISH_TestMemory_Run_OFFSET);
      |                                               ^
In file included from autogen/source/testcfish_parcel.c:70:
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_To_Host’:
autogen/include/Clownfish/Test/TestHost.h:220:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestHost *, void *)’ [-Wcast-function-type]
  220 |     const TESTCFISH_TestHost_To_Host_t method = (TESTCFISH_TestHost_To_Host_t)cfish_obj_method(self, TESTCFISH_TestHost_To_Host_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Clone’:
autogen/include/Clownfish/Test/TestHost.h:227:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHost *)’ [-Wcast-function-type]
  227 |     const TESTCFISH_TestHost_Clone_t method = (TESTCFISH_TestHost_Clone_t)cfish_obj_method(self, TESTCFISH_TestHost_Clone_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Equals’:
autogen/include/Clownfish/Test/TestHost.h:234:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHost *, cfish_Obj *)’ [-Wcast-function-type]
  234 |     const TESTCFISH_TestHost_Equals_t method = (TESTCFISH_TestHost_Equals_t)cfish_obj_method(self, TESTCFISH_TestHost_Equals_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Compare_To’:
autogen/include/Clownfish/Test/TestHost.h:241:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHost *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestHost *, cfish_Obj *)’} [-Wcast-function-type]
  241 |     const TESTCFISH_TestHost_Compare_To_t method = (TESTCFISH_TestHost_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestHost_Compare_To_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_To_String’:
autogen/include/Clownfish/Test/TestHost.h:255:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHost *)’ [-Wcast-function-type]
  255 |     const TESTCFISH_TestHost_To_String_t method = (TESTCFISH_TestHost_To_String_t)cfish_obj_method(self, TESTCFISH_TestHost_To_String_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Obj_Pos_Arg’:
autogen/include/Clownfish/Test/TestHost.h:262:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *)’ [-Wcast-function-type]
  262 |     const TESTCFISH_TestHost_Test_Obj_Pos_Arg_t method = (TESTCFISH_TestHost_Test_Obj_Pos_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Obj_Pos_Arg_OFFSET);
      |                                                          ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Obj_Pos_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:269:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *)’ [-Wcast-function-type]
  269 |     const TESTCFISH_TestHost_Test_Obj_Pos_Arg_Def_t method = (TESTCFISH_TestHost_Test_Obj_Pos_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Obj_Pos_Arg_Def_OFFSET);
      |                                                              ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Obj_Label_Arg’:
autogen/include/Clownfish/Test/TestHost.h:276:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *, _Bool)’ [-Wcast-function-type]
  276 |     const TESTCFISH_TestHost_Test_Obj_Label_Arg_t method = (TESTCFISH_TestHost_Test_Obj_Label_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Obj_Label_Arg_OFFSET);
      |                                                            ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Obj_Label_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:283:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *, _Bool)’ [-Wcast-function-type]
  283 |     const TESTCFISH_TestHost_Test_Obj_Label_Arg_Def_t method = (TESTCFISH_TestHost_Test_Obj_Label_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Obj_Label_Arg_Def_OFFSET);
      |                                                                ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Int32_Pos_Arg’:
autogen/include/Clownfish/Test/TestHost.h:290:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHost *, int32_t)’ {aka ‘int (*)(testcfish_TestHost *, int)’} [-Wcast-function-type]
  290 |     const TESTCFISH_TestHost_Test_Int32_Pos_Arg_t method = (TESTCFISH_TestHost_Test_Int32_Pos_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Int32_Pos_Arg_OFFSET);
      |                                                            ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Int32_Pos_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:297:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHost *, int32_t)’ {aka ‘int (*)(testcfish_TestHost *, int)’} [-Wcast-function-type]
  297 |     const TESTCFISH_TestHost_Test_Int32_Pos_Arg_Def_t method = (TESTCFISH_TestHost_Test_Int32_Pos_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Int32_Pos_Arg_Def_OFFSET);
      |                                                                ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Int32_Label_Arg’:
autogen/include/Clownfish/Test/TestHost.h:304:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHost *, int32_t,  _Bool)’ {aka ‘int (*)(testcfish_TestHost *, int,  _Bool)’} [-Wcast-function-type]
  304 |     const TESTCFISH_TestHost_Test_Int32_Label_Arg_t method = (TESTCFISH_TestHost_Test_Int32_Label_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Int32_Label_Arg_OFFSET);
      |                                                              ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Int32_Label_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:311:66: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHost *, int32_t,  _Bool)’ {aka ‘int (*)(testcfish_TestHost *, int,  _Bool)’} [-Wcast-function-type]
  311 |     const TESTCFISH_TestHost_Test_Int32_Label_Arg_Def_t method = (TESTCFISH_TestHost_Test_Int32_Label_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Int32_Label_Arg_Def_OFFSET);
      |                                                                  ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Bool_Pos_Arg’:
autogen/include/Clownfish/Test/TestHost.h:318:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHost *, _Bool)’ [-Wcast-function-type]
  318 |     const TESTCFISH_TestHost_Test_Bool_Pos_Arg_t method = (TESTCFISH_TestHost_Test_Bool_Pos_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Bool_Pos_Arg_OFFSET);
      |                                                           ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Bool_Pos_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:325:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHost *, _Bool)’ [-Wcast-function-type]
  325 |     const TESTCFISH_TestHost_Test_Bool_Pos_Arg_Def_t method = (TESTCFISH_TestHost_Test_Bool_Pos_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Bool_Pos_Arg_Def_OFFSET);
      |                                                               ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Bool_Label_Arg’:
autogen/include/Clownfish/Test/TestHost.h:332:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHost *, _Bool,  _Bool)’ [-Wcast-function-type]
  332 |     const TESTCFISH_TestHost_Test_Bool_Label_Arg_t method = (TESTCFISH_TestHost_Test_Bool_Label_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Bool_Label_Arg_OFFSET);
      |                                                             ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Bool_Label_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:339:65: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHost *, _Bool,  _Bool)’ [-Wcast-function-type]
  339 |     const TESTCFISH_TestHost_Test_Bool_Label_Arg_Def_t method = (TESTCFISH_TestHost_Test_Bool_Label_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Bool_Label_Arg_Def_OFFSET);
      |                                                                 ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Invalid_Callback’:
autogen/include/Clownfish/Test/TestHost.h:346:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestHost *)’ [-Wcast-function-type]
  346 |     const TESTCFISH_TestHost_Invalid_Callback_t method = (TESTCFISH_TestHost_Invalid_Callback_t)cfish_obj_method(self, TESTCFISH_TestHost_Invalid_Callback_OFFSET);
      |                                                          ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Aliased’:
autogen/include/Clownfish/Test/TestHost.h:360:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHost *)’ [-Wcast-function-type]
  360 |     const TESTCFISH_TestHost_Aliased_t method = (TESTCFISH_TestHost_Aliased_t)cfish_obj_method(self, TESTCFISH_TestHost_Aliased_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Invoke_Aliased_From_C’:
autogen/include/Clownfish/Test/TestHost.h:367:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHost *)’ [-Wcast-function-type]
  367 |     const TESTCFISH_TestHost_Invoke_Aliased_From_C_t method = (TESTCFISH_TestHost_Invoke_Aliased_From_C_t)cfish_obj_method(self, TESTCFISH_TestHost_Invoke_Aliased_From_C_OFFSET);
      |                                                               ^
autogen/source/testcfish_parcel.c: At top level:
autogen/source/testcfish_parcel.c:682:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  682 |         (cfish_method_t)TESTCFISH_TestHost_Test_Obj_Pos_Arg_IMP, /* func */
      |         ^
autogen/source/testcfish_parcel.c:683:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  683 |         (cfish_method_t)TestCfish_TestHost_Test_Obj_Pos_Arg_OVERRIDE /* callback_func */
      |         ^
autogen/source/testcfish_parcel.c:688:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  688 |         (cfish_method_t)TESTCFISH_TestHost_Test_Obj_Pos_Arg_Def_IMP, /* func */
      |         ^
autogen/source/testcfish_parcel.c:689:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  689 |         (cfish_method_t)TestCfish_TestHost_Test_Obj_Pos_Arg_Def_OVERRIDE /* callback_func */
      |         ^
autogen/source/testcfish_parcel.c:694:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *, _Bool)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  694 |         (cfish_method_t)TESTCFISH_TestHost_Test_Obj_Label_Arg_IMP, /* func */
      |         ^
autogen/source/testcfish_parcel.c:695:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *, _Bool)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  695 |         (cfish_method_t)TestCfish_TestHost_Test_Obj_Label_Arg_OVERRIDE /* callback_func */
      |         ^
autogen/source/testcfish_parcel.c:700:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *, _Bool)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  700 |         (cfish_method_t)TESTCFISH_TestHost_Test_Obj_Label_Arg_Def_IMP, /* func */
      |         ^
autogen/source/testcfish_parcel.c:701:9: warning: cast between incompatible function types from ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *, _Bool)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  701 |         (cfish_method_t)TestCfish_TestHost_Test_Obj_Label_Arg_Def_OVERRIDE /* callback_func */
      |         ^
autogen/source/testcfish_parcel.c:706:9: warning: cast between incompatible function types from ‘int32_t (*)(testcfish_TestHost *, int32_t)’ {aka ‘int (*)(testcfish_TestHost *, int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
  706 |         (cfish_method_t)TESTCFISH_TestHost_Test_Int32_Pos_Arg_IMP, /* func */
      |         ^
autogen/source/testcfish_parcel.c:707:9: warning: cast between incompatible function types from ‘int32_t (*)(testcfish_TestHost *, int32_t)’ {aka ‘int (*)(testcfish_TestHost *, int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
  707 |         (cfish_method_t)TestCfish_TestHost_Test_Int32_Pos_Arg_OVERRIDE /* callback_func */
      |         ^
autogen/source/testcfish_parcel.c:712:9: warning: cast between incompatible function types from ‘int32_t (*)(testcfish_TestHost *, int32_t)’ {aka ‘int (*)(testcfish_TestHost *, int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
  712 |         (cfish_method_t)TESTCFISH_TestHost_Test_Int32_Pos_Arg_Def_IMP, /* func */
      |         ^
autogen/source/testcfish_parcel.c:713:9: warning: cast between incompatible function types from ‘int32_t (*)(testcfish_TestHost *, int32_t)’ {aka ‘int (*)(testcfish_TestHost *, int)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
  713 |         (cfish_method_t)TestCfish_TestHost_Test_Int32_Pos_Arg_Def_OVERRIDE /* callback_func */
      |         ^
autogen/source/testcfish_parcel.c:718:9: warning: cast between incompatible function types from ‘int32_t (*)(testcfish_TestHost *, int32_t,  _Bool)’ {aka ‘int (*)(testcfish_TestHost *, int,  _Bool)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
  718 |         (cfish_method_t)TESTCFISH_TestHost_Test_Int32_Label_Arg_IMP, /* func */
      |         ^
autogen/source/testcfish_parcel.c:719:9: warning: cast between incompatible function types from ‘int32_t (*)(testcfish_TestHost *, int32_t,  _Bool)’ {aka ‘int (*)(testcfish_TestHost *, int,  _Bool)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
  719 |         (cfish_method_t)TestCfish_TestHost_Test_Int32_Label_Arg_OVERRIDE /* callback_func */
      |         ^
autogen/source/testcfish_parcel.c:724:9: warning: cast between incompatible function types from ‘int32_t (*)(testcfish_TestHost *, int32_t,  _Bool)’ {aka ‘int (*)(testcfish_TestHost *, int,  _Bool)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
  724 |         (cfish_method_t)TESTCFISH_TestHost_Test_Int32_Label_Arg_Def_IMP, /* func */
      |         ^
autogen/source/testcfish_parcel.c:725:9: warning: cast between incompatible function types from ‘int32_t (*)(testcfish_TestHost *, int32_t,  _Bool)’ {aka ‘int (*)(testcfish_TestHost *, int,  _Bool)’} to ‘void (*)(const void *)’ [-Wcast-function-type]
  725 |         (cfish_method_t)TestCfish_TestHost_Test_Int32_Label_Arg_Def_OVERRIDE /* callback_func */
      |         ^
autogen/source/testcfish_parcel.c:730:9: warning: cast between incompatible function types from ‘_Bool (*)(testcfish_TestHost *, _Bool)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  730 |         (cfish_method_t)TESTCFISH_TestHost_Test_Bool_Pos_Arg_IMP, /* func */
      |         ^
autogen/source/testcfish_parcel.c:731:9: warning: cast between incompatible function types from ‘_Bool (*)(testcfish_TestHost *, _Bool)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  731 |         (cfish_method_t)TestCfish_TestHost_Test_Bool_Pos_Arg_OVERRIDE /* callback_func */
      |         ^
autogen/source/testcfish_parcel.c:736:9: warning: cast between incompatible function types from ‘_Bool (*)(testcfish_TestHost *, _Bool)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  736 |         (cfish_method_t)TESTCFISH_TestHost_Test_Bool_Pos_Arg_Def_IMP, /* func */
      |         ^
autogen/source/testcfish_parcel.c:737:9: warning: cast between incompatible function types from ‘_Bool (*)(testcfish_TestHost *, _Bool)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  737 |         (cfish_method_t)TestCfish_TestHost_Test_Bool_Pos_Arg_Def_OVERRIDE /* callback_func */
      |         ^
autogen/source/testcfish_parcel.c:742:9: warning: cast between incompatible function types from ‘_Bool (*)(testcfish_TestHost *, _Bool,  _Bool)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  742 |         (cfish_method_t)TESTCFISH_TestHost_Test_Bool_Label_Arg_IMP, /* func */
      |         ^
autogen/source/testcfish_parcel.c:743:9: warning: cast between incompatible function types from ‘_Bool (*)(testcfish_TestHost *, _Bool,  _Bool)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  743 |         (cfish_method_t)TestCfish_TestHost_Test_Bool_Label_Arg_OVERRIDE /* callback_func */
      |         ^
autogen/source/testcfish_parcel.c:748:9: warning: cast between incompatible function types from ‘_Bool (*)(testcfish_TestHost *, _Bool,  _Bool)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  748 |         (cfish_method_t)TESTCFISH_TestHost_Test_Bool_Label_Arg_Def_IMP, /* func */
      |         ^
autogen/source/testcfish_parcel.c:749:9: warning: cast between incompatible function types from ‘_Bool (*)(testcfish_TestHost *, _Bool,  _Bool)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  749 |         (cfish_method_t)TestCfish_TestHost_Test_Bool_Label_Arg_Def_OVERRIDE /* callback_func */
      |         ^
autogen/source/testcfish_parcel.c:754:9: warning: cast between incompatible function types from ‘void * (*)(testcfish_TestHost *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  754 |         (cfish_method_t)TESTCFISH_TestHost_Invalid_Callback_IMP, /* func */
      |         ^
autogen/source/testcfish_parcel.c:755:9: warning: cast between incompatible function types from ‘void * (*)(testcfish_TestHost *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  755 |         (cfish_method_t)TestCfish_TestHost_Invalid_Callback_OVERRIDE /* callback_func */
      |         ^
autogen/source/testcfish_parcel.c:766:9: warning: cast between incompatible function types from ‘cfish_String * (*)(testcfish_TestHost *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  766 |         (cfish_method_t)TESTCFISH_TestHost_Aliased_IMP, /* func */
      |         ^
autogen/source/testcfish_parcel.c:767:9: warning: cast between incompatible function types from ‘cfish_String * (*)(testcfish_TestHost *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  767 |         (cfish_method_t)TestCfish_TestHost_Aliased_OVERRIDE /* callback_func */
      |         ^
autogen/source/testcfish_parcel.c:772:9: warning: cast between incompatible function types from ‘cfish_String * (*)(testcfish_TestHost *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  772 |         (cfish_method_t)TESTCFISH_TestHost_Invoke_Aliased_From_C_IMP, /* func */
      |         ^
autogen/source/testcfish_parcel.c:773:9: warning: cast between incompatible function types from ‘cfish_String * (*)(testcfish_TestHost *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  773 |         (cfish_method_t)TestCfish_TestHost_Invoke_Aliased_From_C_OVERRIDE /* callback_func */
      |         ^
autogen/source/testcfish_parcel.c:778:9: warning: cast between incompatible function types from ‘_Bool (*)(testcfish_StringCallbackTest *, cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  778 |         (cfish_method_t)TESTCFISH_StrCbTest_Unchanged_By_Callback_IMP, /* func */
      |         ^
autogen/source/testcfish_parcel.c:779:9: warning: cast between incompatible function types from ‘_Bool (*)(testcfish_StringCallbackTest *, cfish_String *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  779 |         (cfish_method_t)TestCfish_StrCbTest_Unchanged_By_Callback_OVERRIDE /* callback_func */
      |         ^
autogen/source/testcfish_parcel.c:793:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestBlob *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  793 |         (cfish_method_t)TESTCFISH_TestBlob_Run_IMP /* func */
      |         ^
autogen/source/testcfish_parcel.c:798:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestBoolean *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  798 |         (cfish_method_t)TESTCFISH_TestBoolean_Run_IMP /* func */
      |         ^
autogen/source/testcfish_parcel.c:803:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestByteBuf *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  803 |         (cfish_method_t)TESTCFISH_TestBB_Run_IMP /* func */
      |         ^
autogen/source/testcfish_parcel.c:808:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestCharBuf *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  808 |         (cfish_method_t)TESTCFISH_TestCB_Run_IMP /* func */
      |         ^
autogen/source/testcfish_parcel.c:813:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestClass *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  813 |         (cfish_method_t)TESTCFISH_TestClass_Run_IMP /* func */
      |         ^
autogen/source/testcfish_parcel.c:818:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestErr *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  818 |         (cfish_method_t)TESTCFISH_TestErr_Run_IMP /* func */
      |         ^
autogen/source/testcfish_parcel.c:823:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestHash *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  823 |         (cfish_method_t)TESTCFISH_TestHash_Run_IMP /* func */
      |         ^
autogen/source/testcfish_parcel.c:828:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestHashIterator *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  828 |         (cfish_method_t)TESTCFISH_TestHashIterator_Run_IMP /* func */
      |         ^
autogen/source/testcfish_parcel.c:833:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestLockFreeRegistry *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  833 |         (cfish_method_t)TESTCFISH_TestLFReg_Run_IMP /* func */
      |         ^
autogen/source/testcfish_parcel.c:838:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestMethod *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  838 |         (cfish_method_t)TESTCFISH_TestMethod_Run_IMP /* func */
      |         ^
autogen/source/testcfish_parcel.c:843:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestNum *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  843 |         (cfish_method_t)TESTCFISH_TestNum_Run_IMP /* func */
      |         ^
autogen/source/testcfish_parcel.c:848:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestObj *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  848 |         (cfish_method_t)TESTCFISH_TestObj_Run_IMP /* func */
      |         ^
autogen/source/testcfish_parcel.c:853:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestPtrHash *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  853 |         (cfish_method_t)TESTCFISH_TestPtrHash_Run_IMP /* func */
      |         ^
autogen/source/testcfish_parcel.c:858:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestString *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  858 |         (cfish_method_t)TESTCFISH_TestStr_Run_IMP /* func */
      |         ^
autogen/source/testcfish_parcel.c:863:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestVector *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  863 |         (cfish_method_t)TESTCFISH_TestVector_Run_IMP /* func */
      |         ^
autogen/source/testcfish_parcel.c:868:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestAtomic *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  868 |         (cfish_method_t)TESTCFISH_TestAtomic_Run_IMP /* func */
      |         ^
autogen/source/testcfish_parcel.c:873:9: warning: cast between incompatible function types from ‘void (*)(testcfish_TestMemory *, cfish_TestBatchRunner *)’ to ‘void (*)(const void *)’ [-Wcast-function-type]
  873 |         (cfish_method_t)TESTCFISH_TestMemory_Run_IMP /* func */
      |         ^
gcc -Icfcore -Ixs -I. -Iautogen/include -I/usr/lib64/perl5/CORE -fPIC -pedantic -Wall -Wextra -Wno-variadic-macros -DPERL_GCC_PEDANTIC '-std=gnu99' -D_GNU_SOURCE '-fvisibility=hidden' -c -D_REENTRANT -D_GNU_SOURCE -O2 '-flto=auto' -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang '-Werror=format-security' '-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3' -Wp,-D_GLIBCXX_ASSERTIONS '-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1' -fstack-protector-strong '-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1' '-mbranch-protection=standard' -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE '-D_FILE_OFFSET_BITS=64' -O2 '-flto=auto' -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall '-Werror=format-security' '-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3' -Wp,-D_GLIBCXX_ASSERTIONS '-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1' -fstack-protector-strong '-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1' '-mbranch-protection=standard' -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -o autogen/source/testcfish_perl.o autogen/source/testcfish_perl.c
In file included from xs/XSBind.h:23,
                 from autogen/source/testcfish_perl.c:29:
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_Host’:
autogen/include/Clownfish/Obj.h:141:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Obj *, void *)’ [-Wcast-function-type]
  141 |     const CFISH_Obj_To_Host_t method = (CFISH_Obj_To_Host_t)cfish_obj_method(self, CFISH_Obj_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Clone’:
autogen/include/Clownfish/Obj.h:148:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Obj *)’ [-Wcast-function-type]
  148 |     const CFISH_Obj_Clone_t method = (CFISH_Obj_Clone_t)cfish_obj_method(self, CFISH_Obj_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Equals’:
autogen/include/Clownfish/Obj.h:155:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Obj *, cfish_Obj *)’ [-Wcast-function-type]
  155 |     const CFISH_Obj_Equals_t method = (CFISH_Obj_Equals_t)cfish_obj_method(self, CFISH_Obj_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_Compare_To’:
autogen/include/Clownfish/Obj.h:162:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Obj *, cfish_Obj *)’ {aka ‘int (*)(cfish_Obj *, cfish_Obj *)’} [-Wcast-function-type]
  162 |     const CFISH_Obj_Compare_To_t method = (CFISH_Obj_Compare_To_t)cfish_obj_method(self, CFISH_Obj_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Obj.h: In function ‘CFISH_Obj_To_String’:
autogen/include/Clownfish/Obj.h:176:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Obj *)’ [-Wcast-function-type]
  176 |     const CFISH_Obj_To_String_t method = (CFISH_Obj_To_String_t)cfish_obj_method(self, CFISH_Obj_To_String_OFFSET);
      |                                          ^
In file included from xs/XSBind.h:24:
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_To_Host’:
autogen/include/Clownfish/Blob.h:182:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Blob *, void *)’ [-Wcast-function-type]
  182 |     const CFISH_Blob_To_Host_t method = (CFISH_Blob_To_Host_t)cfish_obj_method(self, CFISH_Blob_To_Host_OFFSET);
      |                                         ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Clone’:
autogen/include/Clownfish/Blob.h:193:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Blob * (*)(cfish_Blob *)’ [-Wcast-function-type]
  193 |     const CFISH_Blob_Clone_t method = (CFISH_Blob_Clone_t)cfish_obj_method(self, CFISH_Blob_Clone_OFFSET);
      |                                       ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Equals’:
autogen/include/Clownfish/Blob.h:204:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Blob *, cfish_Obj *)’ [-Wcast-function-type]
  204 |     const CFISH_Blob_Equals_t method = (CFISH_Blob_Equals_t)cfish_obj_method(self, CFISH_Blob_Equals_OFFSET);
      |                                        ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Compare_To’:
autogen/include/Clownfish/Blob.h:215:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Blob *, cfish_Obj *)’ {aka ‘int (*)(cfish_Blob *, cfish_Obj *)’} [-Wcast-function-type]
  215 |     const CFISH_Blob_Compare_To_t method = (CFISH_Blob_Compare_To_t)cfish_obj_method(self, CFISH_Blob_Compare_To_OFFSET);
      |                                            ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_To_String’:
autogen/include/Clownfish/Blob.h:237:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Blob *)’ [-Wcast-function-type]
  237 |     const CFISH_Blob_To_String_t method = (CFISH_Blob_To_String_t)cfish_obj_method(self, CFISH_Blob_To_String_OFFSET);
      |                                           ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Get_Size’:
autogen/include/Clownfish/Blob.h:248:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Blob *)’ {aka ‘long unsigned int (*)(cfish_Blob *)’} [-Wcast-function-type]
  248 |     const CFISH_Blob_Get_Size_t method = (CFISH_Blob_Get_Size_t)cfish_obj_method(self, CFISH_Blob_Get_Size_OFFSET);
      |                                          ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Get_Buf’:
autogen/include/Clownfish/Blob.h:259:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_Blob *)’ [-Wcast-function-type]
  259 |     const CFISH_Blob_Get_Buf_t method = (CFISH_Blob_Get_Buf_t)cfish_obj_method(self, CFISH_Blob_Get_Buf_OFFSET);
      |                                         ^
autogen/include/Clownfish/Blob.h: In function ‘CFISH_Blob_Equals_Bytes’:
autogen/include/Clownfish/Blob.h:270:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Blob *, const void *, size_t)’ {aka ‘_Bool (*)(cfish_Blob *, const void *, long unsigned int)’} [-Wcast-function-type]
  270 |     const CFISH_Blob_Equals_Bytes_t method = (CFISH_Blob_Equals_Bytes_t)cfish_obj_method(self, CFISH_Blob_Equals_Bytes_OFFSET);
      |                                              ^
In file included from xs/XSBind.h:25:
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_To_Host’:
autogen/include/Clownfish/ByteBuf.h:230:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_ByteBuf *, void *)’ [-Wcast-function-type]
  230 |     const CFISH_BB_To_Host_t method = (CFISH_BB_To_Host_t)cfish_obj_method(self, CFISH_BB_To_Host_OFFSET);
      |                                       ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Clone’:
autogen/include/Clownfish/ByteBuf.h:241:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  241 |     const CFISH_BB_Clone_t method = (CFISH_BB_Clone_t)cfish_obj_method(self, CFISH_BB_Clone_OFFSET);
      |                                     ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Equals’:
autogen/include/Clownfish/ByteBuf.h:252:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_ByteBuf *, cfish_Obj *)’ [-Wcast-function-type]
  252 |     const CFISH_BB_Equals_t method = (CFISH_BB_Equals_t)cfish_obj_method(self, CFISH_BB_Equals_OFFSET);
      |                                      ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Compare_To’:
autogen/include/Clownfish/ByteBuf.h:263:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_ByteBuf *, cfish_Obj *)’ {aka ‘int (*)(cfish_ByteBuf *, cfish_Obj *)’} [-Wcast-function-type]
  263 |     const CFISH_BB_Compare_To_t method = (CFISH_BB_Compare_To_t)cfish_obj_method(self, CFISH_BB_Compare_To_OFFSET);
      |                                          ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_To_String’:
autogen/include/Clownfish/ByteBuf.h:285:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  285 |     const CFISH_BB_To_String_t method = (CFISH_BB_To_String_t)cfish_obj_method(self, CFISH_BB_To_String_OFFSET);
      |                                         ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Set_Size’:
autogen/include/Clownfish/ByteBuf.h:296:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_ByteBuf *, size_t)’ {aka ‘void (*)(cfish_ByteBuf *, long unsigned int)’} [-Wcast-function-type]
  296 |     const CFISH_BB_Set_Size_t method = (CFISH_BB_Set_Size_t)cfish_obj_method(self, CFISH_BB_Set_Size_OFFSET);
      |                                        ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Get_Size’:
autogen/include/Clownfish/ByteBuf.h:307:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_ByteBuf *)’ {aka ‘long unsigned int (*)(cfish_ByteBuf *)’} [-Wcast-function-type]
  307 |     const CFISH_BB_Get_Size_t method = (CFISH_BB_Get_Size_t)cfish_obj_method(self, CFISH_BB_Get_Size_OFFSET);
      |                                        ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Get_Buf’:
autogen/include/Clownfish/ByteBuf.h:318:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  318 |     const CFISH_BB_Get_Buf_t method = (CFISH_BB_Get_Buf_t)cfish_obj_method(self, CFISH_BB_Get_Buf_OFFSET);
      |                                       ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Get_Capacity’:
autogen/include/Clownfish/ByteBuf.h:329:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_ByteBuf *)’ {aka ‘long unsigned int (*)(cfish_ByteBuf *)’} [-Wcast-function-type]
  329 |     const CFISH_BB_Get_Capacity_t method = (CFISH_BB_Get_Capacity_t)cfish_obj_method(self, CFISH_BB_Get_Capacity_OFFSET);
      |                                            ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Cat_Bytes’:
autogen/include/Clownfish/ByteBuf.h:340:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_ByteBuf *, const void *, size_t)’ {aka ‘void (*)(cfish_ByteBuf *, const void *, long unsigned int)’} [-Wcast-function-type]
  340 |     const CFISH_BB_Cat_Bytes_t method = (CFISH_BB_Cat_Bytes_t)cfish_obj_method(self, CFISH_BB_Cat_Bytes_OFFSET);
      |                                         ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Cat’:
autogen/include/Clownfish/ByteBuf.h:351:35: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_ByteBuf *, cfish_Blob *)’ [-Wcast-function-type]
  351 |     const CFISH_BB_Cat_t method = (CFISH_BB_Cat_t)cfish_obj_method(self, CFISH_BB_Cat_OFFSET);
      |                                   ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Grow’:
autogen/include/Clownfish/ByteBuf.h:362:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_ByteBuf *, size_t)’ {aka ‘char * (*)(cfish_ByteBuf *, long unsigned int)’} [-Wcast-function-type]
  362 |     const CFISH_BB_Grow_t method = (CFISH_BB_Grow_t)cfish_obj_method(self, CFISH_BB_Grow_OFFSET);
      |                                    ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Yield_Blob’:
autogen/include/Clownfish/ByteBuf.h:373:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Blob * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  373 |     const CFISH_BB_Yield_Blob_t method = (CFISH_BB_Yield_Blob_t)cfish_obj_method(self, CFISH_BB_Yield_Blob_OFFSET);
      |                                          ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Utf8_To_String’:
autogen/include/Clownfish/ByteBuf.h:384:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  384 |     const CFISH_BB_Utf8_To_String_t method = (CFISH_BB_Utf8_To_String_t)cfish_obj_method(self, CFISH_BB_Utf8_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Trusted_Utf8_To_String’:
autogen/include/Clownfish/ByteBuf.h:395:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_ByteBuf *)’ [-Wcast-function-type]
  395 |     const CFISH_BB_Trusted_Utf8_To_String_t method = (CFISH_BB_Trusted_Utf8_To_String_t)cfish_obj_method(self, CFISH_BB_Trusted_Utf8_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/ByteBuf.h: In function ‘CFISH_BB_Equals_Bytes’:
autogen/include/Clownfish/ByteBuf.h:406:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_ByteBuf *, const void *, size_t)’ {aka ‘_Bool (*)(cfish_ByteBuf *, const void *, long unsigned int)’} [-Wcast-function-type]
  406 |     const CFISH_BB_Equals_Bytes_t method = (CFISH_BB_Equals_Bytes_t)cfish_obj_method(self, CFISH_BB_Equals_Bytes_OFFSET);
      |                                            ^
In file included from autogen/include/Clownfish/String.h:41,
                 from xs/XSBind.h:26:
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_Host’:
autogen/include/Clownfish/Class.h:223:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  223 |     const CFISH_Class_To_Host_t method = (CFISH_Class_To_Host_t)cfish_obj_method(self, CFISH_Class_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Clone’:
autogen/include/Clownfish/Class.h:234:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  234 |     const CFISH_Class_Clone_t method = (CFISH_Class_Clone_t)cfish_obj_method(self, CFISH_Class_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Equals’:
autogen/include/Clownfish/Class.h:245:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Class *, cfish_Obj *)’ [-Wcast-function-type]
  245 |     const CFISH_Class_Equals_t method = (CFISH_Class_Equals_t)cfish_obj_method(self, CFISH_Class_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Compare_To’:
autogen/include/Clownfish/Class.h:256:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Class *, cfish_Obj *)’ {aka ‘int (*)(cfish_Class *, cfish_Obj *)’} [-Wcast-function-type]
  256 |     const CFISH_Class_Compare_To_t method = (CFISH_Class_Compare_To_t)cfish_obj_method(self, CFISH_Class_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_To_String’:
autogen/include/Clownfish/Class.h:278:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  278 |     const CFISH_Class_To_String_t method = (CFISH_Class_To_String_t)cfish_obj_method(self, CFISH_Class_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Override’:
autogen/include/Clownfish/Class.h:289:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, void (*)(const void *), uint32_t)’ {aka ‘void (*)(cfish_Class *, void (*)(const void *), unsigned int)’} [-Wcast-function-type]
  289 |     const CFISH_Class_Override_t method = (CFISH_Class_Override_t)cfish_obj_method(self, CFISH_Class_Override_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Make_Obj’:
autogen/include/Clownfish/Class.h:300:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *)’ [-Wcast-function-type]
  300 |     const CFISH_Class_Make_Obj_t method = (CFISH_Class_Make_Obj_t)cfish_obj_method(self, CFISH_Class_Make_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Init_Obj’:
autogen/include/Clownfish/Class.h:311:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Class *, void *)’ [-Wcast-function-type]
  311 |     const CFISH_Class_Init_Obj_t method = (CFISH_Class_Init_Obj_t)cfish_obj_method(self, CFISH_Class_Init_Obj_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Add_Host_Method_Alias’:
autogen/include/Clownfish/Class.h:322:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *, const char *)’ [-Wcast-function-type]
  322 |     const CFISH_Class_Add_Host_Method_Alias_t method = (CFISH_Class_Add_Host_Method_Alias_t)cfish_obj_method(self, CFISH_Class_Add_Host_Method_Alias_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Exclude_Host_Method’:
autogen/include/Clownfish/Class.h:333:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Class *, const char *)’ [-Wcast-function-type]
  333 |     const CFISH_Class_Exclude_Host_Method_t method = (CFISH_Class_Exclude_Host_Method_t)cfish_obj_method(self, CFISH_Class_Exclude_Host_Method_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Name’:
autogen/include/Clownfish/Class.h:344:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Class *)’ [-Wcast-function-type]
  344 |     const CFISH_Class_Get_Name_t method = (CFISH_Class_Get_Name_t)cfish_obj_method(self, CFISH_Class_Get_Name_OFFSET);
      |                                           ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Parent’:
autogen/include/Clownfish/Class.h:355:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Class * (*)(cfish_Class *)’ [-Wcast-function-type]
  355 |     const CFISH_Class_Get_Parent_t method = (CFISH_Class_Get_Parent_t)cfish_obj_method(self, CFISH_Class_Get_Parent_OFFSET);
      |                                             ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Obj_Alloc_Size’:
autogen/include/Clownfish/Class.h:366:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘uint32_t (*)(cfish_Class *)’ {aka ‘unsigned int (*)(cfish_Class *)’} [-Wcast-function-type]
  366 |     const CFISH_Class_Get_Obj_Alloc_Size_t method = (CFISH_Class_Get_Obj_Alloc_Size_t)cfish_obj_method(self, CFISH_Class_Get_Obj_Alloc_Size_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Class.h: In function ‘CFISH_Class_Get_Methods’:
autogen/include/Clownfish/Class.h:377:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Class *)’ [-Wcast-function-type]
  377 |     const CFISH_Class_Get_Methods_t method = (CFISH_Class_Get_Methods_t)cfish_obj_method(self, CFISH_Class_Get_Methods_OFFSET);
      |                                              ^
In file included from autogen/include/Clownfish/String.h:44:
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_Host’:
autogen/include/Clownfish/Err.h:214:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Err *, void *)’ [-Wcast-function-type]
  214 |     const CFISH_Err_To_Host_t method = (CFISH_Err_To_Host_t)cfish_obj_method(self, CFISH_Err_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Clone’:
autogen/include/Clownfish/Err.h:221:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Err *)’ [-Wcast-function-type]
  221 |     const CFISH_Err_Clone_t method = (CFISH_Err_Clone_t)cfish_obj_method(self, CFISH_Err_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Equals’:
autogen/include/Clownfish/Err.h:228:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Err *, cfish_Obj *)’ [-Wcast-function-type]
  228 |     const CFISH_Err_Equals_t method = (CFISH_Err_Equals_t)cfish_obj_method(self, CFISH_Err_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Compare_To’:
autogen/include/Clownfish/Err.h:235:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Err *, cfish_Obj *)’ {aka ‘int (*)(cfish_Err *, cfish_Obj *)’} [-Wcast-function-type]
  235 |     const CFISH_Err_Compare_To_t method = (CFISH_Err_Compare_To_t)cfish_obj_method(self, CFISH_Err_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_To_String’:
autogen/include/Clownfish/Err.h:249:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  249 |     const CFISH_Err_To_String_t method = (CFISH_Err_To_String_t)cfish_obj_method(self, CFISH_Err_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Cat_Mess’:
autogen/include/Clownfish/Err.h:256:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, cfish_String *)’ [-Wcast-function-type]
  256 |     const CFISH_Err_Cat_Mess_t method = (CFISH_Err_Cat_Mess_t)cfish_obj_method(self, CFISH_Err_Cat_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Get_Mess’:
autogen/include/Clownfish/Err.h:263:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Err *)’ [-Wcast-function-type]
  263 |     const CFISH_Err_Get_Mess_t method = (CFISH_Err_Get_Mess_t)cfish_obj_method(self, CFISH_Err_Get_Mess_OFFSET);
      |                                         ^
autogen/include/Clownfish/Err.h: In function ‘CFISH_Err_Add_Frame’:
autogen/include/Clownfish/Err.h:270:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Err *, const char *, int,  const char *)’ [-Wcast-function-type]
  270 |     const CFISH_Err_Add_Frame_t method = (CFISH_Err_Add_Frame_t)cfish_obj_method(self, CFISH_Err_Add_Frame_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Host’:
autogen/include/Clownfish/String.h:387:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_String *, void *)’ [-Wcast-function-type]
  387 |     const CFISH_Str_To_Host_t method = (CFISH_Str_To_Host_t)cfish_obj_method(self, CFISH_Str_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Clone’:
autogen/include/Clownfish/String.h:398:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  398 |     const CFISH_Str_Clone_t method = (CFISH_Str_Clone_t)cfish_obj_method(self, CFISH_Str_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals’:
autogen/include/Clownfish/String.h:409:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  409 |     const CFISH_Str_Equals_t method = (CFISH_Str_Equals_t)cfish_obj_method(self, CFISH_Str_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Compare_To’:
autogen/include/Clownfish/String.h:420:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, cfish_Obj *)’ {aka ‘int (*)(cfish_String *, cfish_Obj *)’} [-Wcast-function-type]
  420 |     const CFISH_Str_Compare_To_t method = (CFISH_Str_Compare_To_t)cfish_obj_method(self, CFISH_Str_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_String’:
autogen/include/Clownfish/String.h:442:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  442 |     const CFISH_Str_To_String_t method = (CFISH_Str_To_String_t)cfish_obj_method(self, CFISH_Str_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat’:
autogen/include/Clownfish/String.h:453:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  453 |     const CFISH_Str_Cat_t method = (CFISH_Str_Cat_t)cfish_obj_method(self, CFISH_Str_Cat_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Utf8’:
autogen/include/Clownfish/String.h:464:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  464 |     const CFISH_Str_Cat_Utf8_t method = (CFISH_Str_Cat_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Utf8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Cat_Trusted_Utf8’:
autogen/include/Clownfish/String.h:475:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_String * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  475 |     const CFISH_Str_Cat_Trusted_Utf8_t method = (CFISH_Str_Cat_Trusted_Utf8_t)cfish_obj_method(self, CFISH_Str_Cat_Trusted_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_I64’:
autogen/include/Clownfish/String.h:486:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *)’ {aka ‘long int (*)(cfish_String *)’} [-Wcast-function-type]
  486 |     const CFISH_Str_To_I64_t method = (CFISH_Str_To_I64_t)cfish_obj_method(self, CFISH_Str_To_I64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_BaseX_To_I64’:
autogen/include/Clownfish/String.h:497:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_String *, uint32_t)’ {aka ‘long int (*)(cfish_String *, unsigned int)’} [-Wcast-function-type]
  497 |     const CFISH_Str_BaseX_To_I64_t method = (CFISH_Str_BaseX_To_I64_t)cfish_obj_method(self, CFISH_Str_BaseX_To_I64_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_F64’:
autogen/include/Clownfish/String.h:508:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_String *)’ [-Wcast-function-type]
  508 |     const CFISH_Str_To_F64_t method = (CFISH_Str_To_F64_t)cfish_obj_method(self, CFISH_Str_To_F64_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With’:
autogen/include/Clownfish/String.h:519:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  519 |     const CFISH_Str_Starts_With_t method = (CFISH_Str_Starts_With_t)cfish_obj_method(self, CFISH_Str_Starts_With_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:530:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  530 |     const CFISH_Str_Starts_With_Utf8_t method = (CFISH_Str_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Starts_With_Utf8_OFFSET);
      |                                                 ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With’:
autogen/include/Clownfish/String.h:541:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  541 |     const CFISH_Str_Ends_With_t method = (CFISH_Str_Ends_With_t)cfish_obj_method(self, CFISH_Str_Ends_With_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:552:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  552 |     const CFISH_Str_Ends_With_Utf8_t method = (CFISH_Str_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_Str_Ends_With_Utf8_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains’:
autogen/include/Clownfish/String.h:563:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  563 |     const CFISH_Str_Contains_t method = (CFISH_Str_Contains_t)cfish_obj_method(self, CFISH_Str_Contains_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Contains_Utf8’:
autogen/include/Clownfish/String.h:574:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  574 |     const CFISH_Str_Contains_Utf8_t method = (CFISH_Str_Contains_Utf8_t)cfish_obj_method(self, CFISH_Str_Contains_Utf8_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find’:
autogen/include/Clownfish/String.h:585:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, cfish_String *)’ [-Wcast-function-type]
  585 |     const CFISH_Str_Find_t method = (CFISH_Str_Find_t)cfish_obj_method(self, CFISH_Str_Find_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Find_Utf8’:
autogen/include/Clownfish/String.h:596:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *, const char *, size_t)’ {aka ‘cfish_StringIterator * (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  596 |     const CFISH_Str_Find_Utf8_t method = (CFISH_Str_Find_Utf8_t)cfish_obj_method(self, CFISH_Str_Find_Utf8_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Equals_Utf8’:
autogen/include/Clownfish/String.h:607:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_String *, const char *, long unsigned int)’} [-Wcast-function-type]
  607 |     const CFISH_Str_Equals_Utf8_t method = (CFISH_Str_Equals_Utf8_t)cfish_obj_method(self, CFISH_Str_Equals_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Length’:
autogen/include/Clownfish/String.h:618:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  618 |     const CFISH_Str_Length_t method = (CFISH_Str_Length_t)cfish_obj_method(self, CFISH_Str_Length_OFFSET);
      |                                       ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Size’:
autogen/include/Clownfish/String.h:629:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  629 |     const CFISH_Str_Get_Size_t method = (CFISH_Str_Get_Size_t)cfish_obj_method(self, CFISH_Str_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Get_Ptr8’:
autogen/include/Clownfish/String.h:640:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘const char * (*)(cfish_String *)’ [-Wcast-function-type]
  640 |     const CFISH_Str_Get_Ptr8_t method = (CFISH_Str_Get_Ptr8_t)cfish_obj_method(self, CFISH_Str_Get_Ptr8_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_Utf8’:
autogen/include/Clownfish/String.h:651:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘char * (*)(cfish_String *)’ [-Wcast-function-type]
  651 |     const CFISH_Str_To_Utf8_t method = (CFISH_Str_To_Utf8_t)cfish_obj_method(self, CFISH_Str_To_Utf8_OFFSET);
      |                                        ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_To_ByteBuf’:
autogen/include/Clownfish/String.h:662:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_ByteBuf * (*)(cfish_String *)’ [-Wcast-function-type]
  662 |     const CFISH_Str_To_ByteBuf_t method = (CFISH_Str_To_ByteBuf_t)cfish_obj_method(self, CFISH_Str_To_ByteBuf_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Is_Copy_On_IncRef’:
autogen/include/Clownfish/String.h:673:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_String *)’ [-Wcast-function-type]
  673 |     const CFISH_Str_Is_Copy_On_IncRef_t method = (CFISH_Str_Is_Copy_On_IncRef_t)cfish_obj_method(self, CFISH_Str_Is_Copy_On_IncRef_OFFSET);
      |                                                  ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Hash_Sum’:
autogen/include/Clownfish/String.h:684:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_String *)’ {aka ‘long unsigned int (*)(cfish_String *)’} [-Wcast-function-type]
  684 |     const CFISH_Str_Hash_Sum_t method = (CFISH_Str_Hash_Sum_t)cfish_obj_method(self, CFISH_Str_Hash_Sum_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim’:
autogen/include/Clownfish/String.h:695:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  695 |     const CFISH_Str_Trim_t method = (CFISH_Str_Trim_t)cfish_obj_method(self, CFISH_Str_Trim_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Top’:
autogen/include/Clownfish/String.h:706:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  706 |     const CFISH_Str_Trim_Top_t method = (CFISH_Str_Trim_Top_t)cfish_obj_method(self, CFISH_Str_Trim_Top_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Trim_Tail’:
autogen/include/Clownfish/String.h:717:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *)’ [-Wcast-function-type]
  717 |     const CFISH_Str_Trim_Tail_t method = (CFISH_Str_Trim_Tail_t)cfish_obj_method(self, CFISH_Str_Trim_Tail_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_At’:
autogen/include/Clownfish/String.h:728:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  728 |     const CFISH_Str_Code_Point_At_t method = (CFISH_Str_Code_Point_At_t)cfish_obj_method(self, CFISH_Str_Code_Point_At_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Code_Point_From’:
autogen/include/Clownfish/String.h:739:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_String *, size_t)’ {aka ‘int (*)(cfish_String *, long unsigned int)’} [-Wcast-function-type]
  739 |     const CFISH_Str_Code_Point_From_t method = (CFISH_Str_Code_Point_From_t)cfish_obj_method(self, CFISH_Str_Code_Point_From_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_SubString’:
autogen/include/Clownfish/String.h:750:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_String *, size_t,  size_t)’ {aka ‘cfish_String * (*)(cfish_String *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  750 |     const CFISH_Str_SubString_t method = (CFISH_Str_SubString_t)cfish_obj_method(self, CFISH_Str_SubString_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Top’:
autogen/include/Clownfish/String.h:761:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  761 |     const CFISH_Str_Top_t method = (CFISH_Str_Top_t)cfish_obj_method(self, CFISH_Str_Top_OFFSET);
      |                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_Str_Tail’:
autogen/include/Clownfish/String.h:772:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_String *)’ [-Wcast-function-type]
  772 |     const CFISH_Str_Tail_t method = (CFISH_Str_Tail_t)cfish_obj_method(self, CFISH_Str_Tail_OFFSET);
      |                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_Host’:
autogen/include/Clownfish/String.h:1113:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_StringIterator *, void *)’ [-Wcast-function-type]
 1113 |     const CFISH_StrIter_To_Host_t method = (CFISH_StrIter_To_Host_t)cfish_obj_method(self, CFISH_StrIter_To_Host_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Clone’:
autogen/include/Clownfish/String.h:1124:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_StringIterator * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1124 |     const CFISH_StrIter_Clone_t method = (CFISH_StrIter_Clone_t)cfish_obj_method(self, CFISH_StrIter_Clone_OFFSET);
      |                                          ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Equals’:
autogen/include/Clownfish/String.h:1135:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_Obj *)’ [-Wcast-function-type]
 1135 |     const CFISH_StrIter_Equals_t method = (CFISH_StrIter_Equals_t)cfish_obj_method(self, CFISH_StrIter_Equals_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Compare_To’:
autogen/include/Clownfish/String.h:1146:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *, cfish_Obj *)’ {aka ‘int (*)(cfish_StringIterator *, cfish_Obj *)’} [-Wcast-function-type]
 1146 |     const CFISH_StrIter_Compare_To_t method = (CFISH_StrIter_Compare_To_t)cfish_obj_method(self, CFISH_StrIter_Compare_To_OFFSET);
      |                                               ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_To_String’:
autogen/include/Clownfish/String.h:1168:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1168 |     const CFISH_StrIter_To_String_t method = (CFISH_StrIter_To_String_t)cfish_obj_method(self, CFISH_StrIter_To_String_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Assign’:
autogen/include/Clownfish/String.h:1179:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_StringIterator *, cfish_StringIterator *)’ [-Wcast-function-type]
 1179 |     const CFISH_StrIter_Assign_t method = (CFISH_StrIter_Assign_t)cfish_obj_method(self, CFISH_StrIter_Assign_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Next’:
autogen/include/Clownfish/String.h:1190:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1190 |     const CFISH_StrIter_Has_Next_t method = (CFISH_StrIter_Has_Next_t)cfish_obj_method(self, CFISH_StrIter_Has_Next_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Has_Prev’:
autogen/include/Clownfish/String.h:1201:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *)’ [-Wcast-function-type]
 1201 |     const CFISH_StrIter_Has_Prev_t method = (CFISH_StrIter_Has_Prev_t)cfish_obj_method(self, CFISH_StrIter_Has_Prev_OFFSET);
      |                                             ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Next’:
autogen/include/Clownfish/String.h:1212:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1212 |     const CFISH_StrIter_Next_t method = (CFISH_StrIter_Next_t)cfish_obj_method(self, CFISH_StrIter_Next_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Prev’:
autogen/include/Clownfish/String.h:1223:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_StringIterator *)’ {aka ‘int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1223 |     const CFISH_StrIter_Prev_t method = (CFISH_StrIter_Prev_t)cfish_obj_method(self, CFISH_StrIter_Prev_OFFSET);
      |                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Advance’:
autogen/include/Clownfish/String.h:1234:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1234 |     const CFISH_StrIter_Advance_t method = (CFISH_StrIter_Advance_t)cfish_obj_method(self, CFISH_StrIter_Advance_OFFSET);
      |                                            ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Recede’:
autogen/include/Clownfish/String.h:1245:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *, size_t)’ {aka ‘long unsigned int (*)(cfish_StringIterator *, long unsigned int)’} [-Wcast-function-type]
 1245 |     const CFISH_StrIter_Recede_t method = (CFISH_StrIter_Recede_t)cfish_obj_method(self, CFISH_StrIter_Recede_OFFSET);
      |                                           ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace’:
autogen/include/Clownfish/String.h:1256:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1256 |     const CFISH_StrIter_Skip_Whitespace_t method = (CFISH_StrIter_Skip_Whitespace_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_OFFSET);
      |                                                    ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Skip_Whitespace_Back’:
autogen/include/Clownfish/String.h:1267:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_StringIterator *)’ {aka ‘long unsigned int (*)(cfish_StringIterator *)’} [-Wcast-function-type]
 1267 |     const CFISH_StrIter_Skip_Whitespace_Back_t method = (CFISH_StrIter_Skip_Whitespace_Back_t)cfish_obj_method(self, CFISH_StrIter_Skip_Whitespace_Back_OFFSET);
      |                                                         ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With’:
autogen/include/Clownfish/String.h:1278:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1278 |     const CFISH_StrIter_Starts_With_t method = (CFISH_StrIter_Starts_With_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_OFFSET);
      |                                                ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Starts_With_Utf8’:
autogen/include/Clownfish/String.h:1289:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1289 |     const CFISH_StrIter_Starts_With_Utf8_t method = (CFISH_StrIter_Starts_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Starts_With_Utf8_OFFSET);
      |                                                     ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With’:
autogen/include/Clownfish/String.h:1300:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, cfish_String *)’ [-Wcast-function-type]
 1300 |     const CFISH_StrIter_Ends_With_t method = (CFISH_StrIter_Ends_With_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_OFFSET);
      |                                              ^
autogen/include/Clownfish/String.h: In function ‘CFISH_StrIter_Ends_With_Utf8’:
autogen/include/Clownfish/String.h:1311:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_StringIterator *, const char *, size_t)’ {aka ‘_Bool (*)(cfish_StringIterator *, const char *, long unsigned int)’} [-Wcast-function-type]
 1311 |     const CFISH_StrIter_Ends_With_Utf8_t method = (CFISH_StrIter_Ends_With_Utf8_t)cfish_obj_method(self, CFISH_StrIter_Ends_With_Utf8_OFFSET);
      |                                                   ^
In file included from xs/XSBind.h:28:
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_To_Host’:
autogen/include/Clownfish/Hash.h:225:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Hash *, void *)’ [-Wcast-function-type]
  225 |     const CFISH_Hash_To_Host_t method = (CFISH_Hash_To_Host_t)cfish_obj_method(self, CFISH_Hash_To_Host_OFFSET);
      |                                         ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Clone’:
autogen/include/Clownfish/Hash.h:236:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Hash *)’ [-Wcast-function-type]
  236 |     const CFISH_Hash_Clone_t method = (CFISH_Hash_Clone_t)cfish_obj_method(self, CFISH_Hash_Clone_OFFSET);
      |                                       ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Equals’:
autogen/include/Clownfish/Hash.h:247:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Hash *, cfish_Obj *)’ [-Wcast-function-type]
  247 |     const CFISH_Hash_Equals_t method = (CFISH_Hash_Equals_t)cfish_obj_method(self, CFISH_Hash_Equals_OFFSET);
      |                                        ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Compare_To’:
autogen/include/Clownfish/Hash.h:258:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Hash *, cfish_Obj *)’ {aka ‘int (*)(cfish_Hash *, cfish_Obj *)’} [-Wcast-function-type]
  258 |     const CFISH_Hash_Compare_To_t method = (CFISH_Hash_Compare_To_t)cfish_obj_method(self, CFISH_Hash_Compare_To_OFFSET);
      |                                            ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_To_String’:
autogen/include/Clownfish/Hash.h:280:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Hash *)’ [-Wcast-function-type]
  280 |     const CFISH_Hash_To_String_t method = (CFISH_Hash_To_String_t)cfish_obj_method(self, CFISH_Hash_To_String_OFFSET);
      |                                           ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Store’:
autogen/include/Clownfish/Hash.h:302:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Hash *, cfish_String *, cfish_Obj *)’ [-Wcast-function-type]
  302 |     const CFISH_Hash_Store_t method = (CFISH_Hash_Store_t)cfish_obj_method(self, CFISH_Hash_Store_OFFSET);
      |                                       ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Store_Utf8’:
autogen/include/Clownfish/Hash.h:313:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Hash *, const char *, size_t,  cfish_Obj *)’ {aka ‘void (*)(cfish_Hash *, const char *, long unsigned int,  cfish_Obj *)’} [-Wcast-function-type]
  313 |     const CFISH_Hash_Store_Utf8_t method = (CFISH_Hash_Store_Utf8_t)cfish_obj_method(self, CFISH_Hash_Store_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Fetch’:
autogen/include/Clownfish/Hash.h:324:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Hash *, cfish_String *)’ [-Wcast-function-type]
  324 |     const CFISH_Hash_Fetch_t method = (CFISH_Hash_Fetch_t)cfish_obj_method(self, CFISH_Hash_Fetch_OFFSET);
      |                                       ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Fetch_Utf8’:
autogen/include/Clownfish/Hash.h:335:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Hash *, const char *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Hash *, const char *, long unsigned int)’} [-Wcast-function-type]
  335 |     const CFISH_Hash_Fetch_Utf8_t method = (CFISH_Hash_Fetch_Utf8_t)cfish_obj_method(self, CFISH_Hash_Fetch_Utf8_OFFSET);
      |                                            ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Delete’:
autogen/include/Clownfish/Hash.h:346:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Hash *, cfish_String *)’ [-Wcast-function-type]
  346 |     const CFISH_Hash_Delete_t method = (CFISH_Hash_Delete_t)cfish_obj_method(self, CFISH_Hash_Delete_OFFSET);
      |                                        ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Delete_Utf8’:
autogen/include/Clownfish/Hash.h:357:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Hash *, const char *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Hash *, const char *, long unsigned int)’} [-Wcast-function-type]
  357 |     const CFISH_Hash_Delete_Utf8_t method = (CFISH_Hash_Delete_Utf8_t)cfish_obj_method(self, CFISH_Hash_Delete_Utf8_OFFSET);
      |                                             ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Has_Key’:
autogen/include/Clownfish/Hash.h:368:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Hash *, cfish_String *)’ [-Wcast-function-type]
  368 |     const CFISH_Hash_Has_Key_t method = (CFISH_Hash_Has_Key_t)cfish_obj_method(self, CFISH_Hash_Has_Key_OFFSET);
      |                                         ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Keys’:
autogen/include/Clownfish/Hash.h:379:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Hash *)’ [-Wcast-function-type]
  379 |     const CFISH_Hash_Keys_t method = (CFISH_Hash_Keys_t)cfish_obj_method(self, CFISH_Hash_Keys_OFFSET);
      |                                      ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Values’:
autogen/include/Clownfish/Hash.h:390:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Hash *)’ [-Wcast-function-type]
  390 |     const CFISH_Hash_Values_t method = (CFISH_Hash_Values_t)cfish_obj_method(self, CFISH_Hash_Values_OFFSET);
      |                                        ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Get_Capacity’:
autogen/include/Clownfish/Hash.h:401:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Hash *)’ {aka ‘long unsigned int (*)(cfish_Hash *)’} [-Wcast-function-type]
  401 |     const CFISH_Hash_Get_Capacity_t method = (CFISH_Hash_Get_Capacity_t)cfish_obj_method(self, CFISH_Hash_Get_Capacity_OFFSET);
      |                                              ^
autogen/include/Clownfish/Hash.h: In function ‘CFISH_Hash_Get_Size’:
autogen/include/Clownfish/Hash.h:412:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Hash *)’ {aka ‘long unsigned int (*)(cfish_Hash *)’} [-Wcast-function-type]
  412 |     const CFISH_Hash_Get_Size_t method = (CFISH_Hash_Get_Size_t)cfish_obj_method(self, CFISH_Hash_Get_Size_OFFSET);
      |                                          ^
In file included from xs/XSBind.h:29:
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_To_Host’:
autogen/include/Clownfish/Num.h:162:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Float *, void *)’ [-Wcast-function-type]
  162 |     const CFISH_Float_To_Host_t method = (CFISH_Float_To_Host_t)cfish_obj_method(self, CFISH_Float_To_Host_OFFSET);
      |                                          ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_Clone’:
autogen/include/Clownfish/Num.h:173:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Float * (*)(cfish_Float *)’ [-Wcast-function-type]
  173 |     const CFISH_Float_Clone_t method = (CFISH_Float_Clone_t)cfish_obj_method(self, CFISH_Float_Clone_OFFSET);
      |                                        ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_Equals’:
autogen/include/Clownfish/Num.h:184:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Float *, cfish_Obj *)’ [-Wcast-function-type]
  184 |     const CFISH_Float_Equals_t method = (CFISH_Float_Equals_t)cfish_obj_method(self, CFISH_Float_Equals_OFFSET);
      |                                         ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_Compare_To’:
autogen/include/Clownfish/Num.h:195:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Float *, cfish_Obj *)’ {aka ‘int (*)(cfish_Float *, cfish_Obj *)’} [-Wcast-function-type]
  195 |     const CFISH_Float_Compare_To_t method = (CFISH_Float_Compare_To_t)cfish_obj_method(self, CFISH_Float_Compare_To_OFFSET);
      |                                             ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_To_String’:
autogen/include/Clownfish/Num.h:217:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Float *)’ [-Wcast-function-type]
  217 |     const CFISH_Float_To_String_t method = (CFISH_Float_To_String_t)cfish_obj_method(self, CFISH_Float_To_String_OFFSET);
      |                                            ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_Get_Value’:
autogen/include/Clownfish/Num.h:228:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_Float *)’ [-Wcast-function-type]
  228 |     const CFISH_Float_Get_Value_t method = (CFISH_Float_Get_Value_t)cfish_obj_method(self, CFISH_Float_Get_Value_OFFSET);
      |                                            ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Float_To_I64’:
autogen/include/Clownfish/Num.h:239:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_Float *)’ {aka ‘long int (*)(cfish_Float *)’} [-Wcast-function-type]
  239 |     const CFISH_Float_To_I64_t method = (CFISH_Float_To_I64_t)cfish_obj_method(self, CFISH_Float_To_I64_OFFSET);
      |                                         ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_To_Host’:
autogen/include/Clownfish/Num.h:417:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Integer *, void *)’ [-Wcast-function-type]
  417 |     const CFISH_Int_To_Host_t method = (CFISH_Int_To_Host_t)cfish_obj_method(self, CFISH_Int_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_Clone’:
autogen/include/Clownfish/Num.h:428:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Integer * (*)(cfish_Integer *)’ [-Wcast-function-type]
  428 |     const CFISH_Int_Clone_t method = (CFISH_Int_Clone_t)cfish_obj_method(self, CFISH_Int_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_Equals’:
autogen/include/Clownfish/Num.h:439:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Integer *, cfish_Obj *)’ [-Wcast-function-type]
  439 |     const CFISH_Int_Equals_t method = (CFISH_Int_Equals_t)cfish_obj_method(self, CFISH_Int_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_Compare_To’:
autogen/include/Clownfish/Num.h:450:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Integer *, cfish_Obj *)’ {aka ‘int (*)(cfish_Integer *, cfish_Obj *)’} [-Wcast-function-type]
  450 |     const CFISH_Int_Compare_To_t method = (CFISH_Int_Compare_To_t)cfish_obj_method(self, CFISH_Int_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_To_String’:
autogen/include/Clownfish/Num.h:472:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Integer *)’ [-Wcast-function-type]
  472 |     const CFISH_Int_To_String_t method = (CFISH_Int_To_String_t)cfish_obj_method(self, CFISH_Int_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_Get_Value’:
autogen/include/Clownfish/Num.h:483:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int64_t (*)(cfish_Integer *)’ {aka ‘long int (*)(cfish_Integer *)’} [-Wcast-function-type]
  483 |     const CFISH_Int_Get_Value_t method = (CFISH_Int_Get_Value_t)cfish_obj_method(self, CFISH_Int_Get_Value_OFFSET);
      |                                          ^
autogen/include/Clownfish/Num.h: In function ‘CFISH_Int_To_F64’:
autogen/include/Clownfish/Num.h:494:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘double (*)(cfish_Integer *)’ [-Wcast-function-type]
  494 |     const CFISH_Int_To_F64_t method = (CFISH_Int_To_F64_t)cfish_obj_method(self, CFISH_Int_To_F64_OFFSET);
      |                                       ^
In file included from xs/XSBind.h:30:
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_To_Host’:
autogen/include/Clownfish/Vector.h:245:40: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_Vector *, void *)’ [-Wcast-function-type]
  245 |     const CFISH_Vec_To_Host_t method = (CFISH_Vec_To_Host_t)cfish_obj_method(self, CFISH_Vec_To_Host_OFFSET);
      |                                        ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Clone’:
autogen/include/Clownfish/Vector.h:256:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Vector *)’ [-Wcast-function-type]
  256 |     const CFISH_Vec_Clone_t method = (CFISH_Vec_Clone_t)cfish_obj_method(self, CFISH_Vec_Clone_OFFSET);
      |                                      ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Equals’:
autogen/include/Clownfish/Vector.h:267:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_Vector *, cfish_Obj *)’ [-Wcast-function-type]
  267 |     const CFISH_Vec_Equals_t method = (CFISH_Vec_Equals_t)cfish_obj_method(self, CFISH_Vec_Equals_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Compare_To’:
autogen/include/Clownfish/Vector.h:278:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_Vector *, cfish_Obj *)’ {aka ‘int (*)(cfish_Vector *, cfish_Obj *)’} [-Wcast-function-type]
  278 |     const CFISH_Vec_Compare_To_t method = (CFISH_Vec_Compare_To_t)cfish_obj_method(self, CFISH_Vec_Compare_To_OFFSET);
      |                                           ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_To_String’:
autogen/include/Clownfish/Vector.h:300:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_Vector *)’ [-Wcast-function-type]
  300 |     const CFISH_Vec_To_String_t method = (CFISH_Vec_To_String_t)cfish_obj_method(self, CFISH_Vec_To_String_OFFSET);
      |                                          ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Push’:
autogen/include/Clownfish/Vector.h:311:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, cfish_Obj *)’ [-Wcast-function-type]
  311 |     const CFISH_Vec_Push_t method = (CFISH_Vec_Push_t)cfish_obj_method(self, CFISH_Vec_Push_OFFSET);
      |                                     ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Push_All’:
autogen/include/Clownfish/Vector.h:322:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, cfish_Vector *)’ [-Wcast-function-type]
  322 |     const CFISH_Vec_Push_All_t method = (CFISH_Vec_Push_All_t)cfish_obj_method(self, CFISH_Vec_Push_All_OFFSET);
      |                                         ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Pop’:
autogen/include/Clownfish/Vector.h:333:36: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Vector *)’ [-Wcast-function-type]
  333 |     const CFISH_Vec_Pop_t method = (CFISH_Vec_Pop_t)cfish_obj_method(self, CFISH_Vec_Pop_OFFSET);
      |                                    ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Insert’:
autogen/include/Clownfish/Vector.h:344:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  cfish_Obj *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Obj *)’} [-Wcast-function-type]
  344 |     const CFISH_Vec_Insert_t method = (CFISH_Vec_Insert_t)cfish_obj_method(self, CFISH_Vec_Insert_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Insert_All’:
autogen/include/Clownfish/Vector.h:355:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  cfish_Vector *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Vector *)’} [-Wcast-function-type]
  355 |     const CFISH_Vec_Insert_All_t method = (CFISH_Vec_Insert_All_t)cfish_obj_method(self, CFISH_Vec_Insert_All_OFFSET);
      |                                           ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Grow’:
autogen/include/Clownfish/Vector.h:366:37: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  366 |     const CFISH_Vec_Grow_t method = (CFISH_Vec_Grow_t)cfish_obj_method(self, CFISH_Vec_Grow_OFFSET);
      |                                     ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Fetch’:
autogen/include/Clownfish/Vector.h:377:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Vector *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  377 |     const CFISH_Vec_Fetch_t method = (CFISH_Vec_Fetch_t)cfish_obj_method(self, CFISH_Vec_Fetch_OFFSET);
      |                                      ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Store’:
autogen/include/Clownfish/Vector.h:388:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  cfish_Obj *)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  cfish_Obj *)’} [-Wcast-function-type]
  388 |     const CFISH_Vec_Store_t method = (CFISH_Vec_Store_t)cfish_obj_method(self, CFISH_Vec_Store_OFFSET);
      |                                      ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Delete’:
autogen/include/Clownfish/Vector.h:399:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_Vector *, size_t)’ {aka ‘cfish_Obj * (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  399 |     const CFISH_Vec_Delete_t method = (CFISH_Vec_Delete_t)cfish_obj_method(self, CFISH_Vec_Delete_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Excise’:
autogen/include/Clownfish/Vector.h:410:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t,  size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  410 |     const CFISH_Vec_Excise_t method = (CFISH_Vec_Excise_t)cfish_obj_method(self, CFISH_Vec_Excise_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Resize’:
autogen/include/Clownfish/Vector.h:432:39: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_Vector *, size_t)’ {aka ‘void (*)(cfish_Vector *, long unsigned int)’} [-Wcast-function-type]
  432 |     const CFISH_Vec_Resize_t method = (CFISH_Vec_Resize_t)cfish_obj_method(self, CFISH_Vec_Resize_OFFSET);
      |                                       ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Get_Size’:
autogen/include/Clownfish/Vector.h:454:41: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Vector *)’ {aka ‘long unsigned int (*)(cfish_Vector *)’} [-Wcast-function-type]
  454 |     const CFISH_Vec_Get_Size_t method = (CFISH_Vec_Get_Size_t)cfish_obj_method(self, CFISH_Vec_Get_Size_OFFSET);
      |                                         ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Get_Capacity’:
autogen/include/Clownfish/Vector.h:465:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘size_t (*)(cfish_Vector *)’ {aka ‘long unsigned int (*)(cfish_Vector *)’} [-Wcast-function-type]
  465 |     const CFISH_Vec_Get_Capacity_t method = (CFISH_Vec_Get_Capacity_t)cfish_obj_method(self, CFISH_Vec_Get_Capacity_OFFSET);
      |                                             ^
autogen/include/Clownfish/Vector.h: In function ‘CFISH_Vec_Slice’:
autogen/include/Clownfish/Vector.h:476:38: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Vector * (*)(cfish_Vector *, size_t,  size_t)’ {aka ‘cfish_Vector * (*)(cfish_Vector *, long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  476 |     const CFISH_Vec_Slice_t method = (CFISH_Vec_Slice_t)cfish_obj_method(self, CFISH_Vec_Slice_OFFSET);
      |                                      ^
In file included from /usr/lib64/perl5/CORE/perl.h:46,
                 from xs/XSBind.h:37:
/usr/lib64/perl5/CORE/thread.h: At top level:
/usr/lib64/perl5/CORE/config.h:5216:27: warning: ISO C99 does not support ‘_Thread_local’ [-Wpedantic]
 5216 | #define PERL_THREAD_LOCAL _Thread_local /**/
      |                           ^~~~~~~~~~~~~
/usr/lib64/perl5/CORE/thread.h:400:8: note: in expansion of macro ‘PERL_THREAD_LOCAL’
  400 | extern PERL_THREAD_LOCAL void *PL_current_context;
      |        ^~~~~~~~~~~~~~~~~
In file included from autogen/include/Clownfish/Test/TestBlob.h:40,
                 from autogen/source/testcfish_perl.c:33:
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_Host’:
autogen/include/Clownfish/TestHarness/TestBatch.h:131:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(cfish_TestBatch *, void *)’ [-Wcast-function-type]
  131 |     const CFISH_TestBatch_To_Host_t method = (CFISH_TestBatch_To_Host_t)cfish_obj_method(self, CFISH_TestBatch_To_Host_OFFSET);
      |                                              ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Clone’:
autogen/include/Clownfish/TestHarness/TestBatch.h:138:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  138 |     const CFISH_TestBatch_Clone_t method = (CFISH_TestBatch_Clone_t)cfish_obj_method(self, CFISH_TestBatch_Clone_OFFSET);
      |                                            ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Equals’:
autogen/include/Clownfish/TestHarness/TestBatch.h:145:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(cfish_TestBatch *, cfish_Obj *)’ [-Wcast-function-type]
  145 |     const CFISH_TestBatch_Equals_t method = (CFISH_TestBatch_Equals_t)cfish_obj_method(self, CFISH_TestBatch_Equals_OFFSET);
      |                                             ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Compare_To’:
autogen/include/Clownfish/TestHarness/TestBatch.h:152:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(cfish_TestBatch *, cfish_Obj *)’ {aka ‘int (*)(cfish_TestBatch *, cfish_Obj *)’} [-Wcast-function-type]
  152 |     const CFISH_TestBatch_Compare_To_t method = (CFISH_TestBatch_Compare_To_t)cfish_obj_method(self, CFISH_TestBatch_Compare_To_OFFSET);
      |                                                 ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_To_String’:
autogen/include/Clownfish/TestHarness/TestBatch.h:166:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(cfish_TestBatch *)’ [-Wcast-function-type]
  166 |     const CFISH_TestBatch_To_String_t method = (CFISH_TestBatch_To_String_t)cfish_obj_method(self, CFISH_TestBatch_To_String_OFFSET);
      |                                                ^
autogen/include/Clownfish/TestHarness/TestBatch.h: In function ‘CFISH_TestBatch_Run’:
autogen/include/Clownfish/TestHarness/TestBatch.h:173:42: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(cfish_TestBatch *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  173 |     const CFISH_TestBatch_Run_t method = (CFISH_TestBatch_Run_t)cfish_obj_method(self, CFISH_TestBatch_Run_OFFSET);
      |                                          ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_To_Host’:
autogen/include/Clownfish/Test/TestBlob.h:130:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestBlob *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestBlob_To_Host_t method = (TESTCFISH_TestBlob_To_Host_t)cfish_obj_method(self, TESTCFISH_TestBlob_To_Host_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_Clone’:
autogen/include/Clownfish/Test/TestBlob.h:137:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestBlob *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestBlob_Clone_t method = (TESTCFISH_TestBlob_Clone_t)cfish_obj_method(self, TESTCFISH_TestBlob_Clone_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_Equals’:
autogen/include/Clownfish/Test/TestBlob.h:144:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestBlob *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestBlob_Equals_t method = (TESTCFISH_TestBlob_Equals_t)cfish_obj_method(self, TESTCFISH_TestBlob_Equals_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_Compare_To’:
autogen/include/Clownfish/Test/TestBlob.h:151:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestBlob *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestBlob *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestBlob_Compare_To_t method = (TESTCFISH_TestBlob_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestBlob_Compare_To_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_To_String’:
autogen/include/Clownfish/Test/TestBlob.h:165:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestBlob *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestBlob_To_String_t method = (TESTCFISH_TestBlob_To_String_t)cfish_obj_method(self, TESTCFISH_TestBlob_To_String_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestBlob.h: In function ‘TESTCFISH_TestBlob_Run’:
autogen/include/Clownfish/Test/TestBlob.h:172:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestBlob *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestBlob_Run_t method = (TESTCFISH_TestBlob_Run_t)cfish_obj_method(self, TESTCFISH_TestBlob_Run_OFFSET);
      |                                             ^
In file included from autogen/source/testcfish_perl.c:34:
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_To_Host’:
autogen/include/Clownfish/Test/TestBoolean.h:130:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestBoolean *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestBoolean_To_Host_t method = (TESTCFISH_TestBoolean_To_Host_t)cfish_obj_method(self, TESTCFISH_TestBoolean_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_Clone’:
autogen/include/Clownfish/Test/TestBoolean.h:137:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestBoolean *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestBoolean_Clone_t method = (TESTCFISH_TestBoolean_Clone_t)cfish_obj_method(self, TESTCFISH_TestBoolean_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_Equals’:
autogen/include/Clownfish/Test/TestBoolean.h:144:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestBoolean *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestBoolean_Equals_t method = (TESTCFISH_TestBoolean_Equals_t)cfish_obj_method(self, TESTCFISH_TestBoolean_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_Compare_To’:
autogen/include/Clownfish/Test/TestBoolean.h:151:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestBoolean *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestBoolean *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestBoolean_Compare_To_t method = (TESTCFISH_TestBoolean_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestBoolean_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_To_String’:
autogen/include/Clownfish/Test/TestBoolean.h:165:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestBoolean *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestBoolean_To_String_t method = (TESTCFISH_TestBoolean_To_String_t)cfish_obj_method(self, TESTCFISH_TestBoolean_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/TestBoolean.h: In function ‘TESTCFISH_TestBoolean_Run’:
autogen/include/Clownfish/Test/TestBoolean.h:172:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestBoolean *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestBoolean_Run_t method = (TESTCFISH_TestBoolean_Run_t)cfish_obj_method(self, TESTCFISH_TestBoolean_Run_OFFSET);
      |                                                ^
In file included from autogen/source/testcfish_perl.c:35:
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_To_Host’:
autogen/include/Clownfish/Test/TestByteBuf.h:130:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestByteBuf *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestBB_To_Host_t method = (TESTCFISH_TestBB_To_Host_t)cfish_obj_method(self, TESTCFISH_TestBB_To_Host_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_Clone’:
autogen/include/Clownfish/Test/TestByteBuf.h:137:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestByteBuf *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestBB_Clone_t method = (TESTCFISH_TestBB_Clone_t)cfish_obj_method(self, TESTCFISH_TestBB_Clone_OFFSET);
      |                                             ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_Equals’:
autogen/include/Clownfish/Test/TestByteBuf.h:144:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestByteBuf *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestBB_Equals_t method = (TESTCFISH_TestBB_Equals_t)cfish_obj_method(self, TESTCFISH_TestBB_Equals_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_Compare_To’:
autogen/include/Clownfish/Test/TestByteBuf.h:151:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestByteBuf *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestByteBuf *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestBB_Compare_To_t method = (TESTCFISH_TestBB_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestBB_Compare_To_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_To_String’:
autogen/include/Clownfish/Test/TestByteBuf.h:165:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestByteBuf *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestBB_To_String_t method = (TESTCFISH_TestBB_To_String_t)cfish_obj_method(self, TESTCFISH_TestBB_To_String_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestByteBuf.h: In function ‘TESTCFISH_TestBB_Run’:
autogen/include/Clownfish/Test/TestByteBuf.h:172:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestByteBuf *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestBB_Run_t method = (TESTCFISH_TestBB_Run_t)cfish_obj_method(self, TESTCFISH_TestBB_Run_OFFSET);
      |                                           ^
In file included from autogen/source/testcfish_perl.c:36:
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_To_Host’:
autogen/include/Clownfish/Test/TestCharBuf.h:130:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestCharBuf *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestCB_To_Host_t method = (TESTCFISH_TestCB_To_Host_t)cfish_obj_method(self, TESTCFISH_TestCB_To_Host_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_Clone’:
autogen/include/Clownfish/Test/TestCharBuf.h:137:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestCharBuf *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestCB_Clone_t method = (TESTCFISH_TestCB_Clone_t)cfish_obj_method(self, TESTCFISH_TestCB_Clone_OFFSET);
      |                                             ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_Equals’:
autogen/include/Clownfish/Test/TestCharBuf.h:144:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestCharBuf *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestCB_Equals_t method = (TESTCFISH_TestCB_Equals_t)cfish_obj_method(self, TESTCFISH_TestCB_Equals_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_Compare_To’:
autogen/include/Clownfish/Test/TestCharBuf.h:151:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestCharBuf *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestCharBuf *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestCB_Compare_To_t method = (TESTCFISH_TestCB_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestCB_Compare_To_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_To_String’:
autogen/include/Clownfish/Test/TestCharBuf.h:165:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestCharBuf *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestCB_To_String_t method = (TESTCFISH_TestCB_To_String_t)cfish_obj_method(self, TESTCFISH_TestCB_To_String_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestCharBuf.h: In function ‘TESTCFISH_TestCB_Run’:
autogen/include/Clownfish/Test/TestCharBuf.h:172:43: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestCharBuf *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestCB_Run_t method = (TESTCFISH_TestCB_Run_t)cfish_obj_method(self, TESTCFISH_TestCB_Run_OFFSET);
      |                                           ^
In file included from autogen/source/testcfish_perl.c:37:
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_To_Host’:
autogen/include/Clownfish/Test/TestClass.h:130:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestClass *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestClass_To_Host_t method = (TESTCFISH_TestClass_To_Host_t)cfish_obj_method(self, TESTCFISH_TestClass_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_Clone’:
autogen/include/Clownfish/Test/TestClass.h:137:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestClass *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestClass_Clone_t method = (TESTCFISH_TestClass_Clone_t)cfish_obj_method(self, TESTCFISH_TestClass_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_Equals’:
autogen/include/Clownfish/Test/TestClass.h:144:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestClass *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestClass_Equals_t method = (TESTCFISH_TestClass_Equals_t)cfish_obj_method(self, TESTCFISH_TestClass_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_Compare_To’:
autogen/include/Clownfish/Test/TestClass.h:151:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestClass *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestClass *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestClass_Compare_To_t method = (TESTCFISH_TestClass_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestClass_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_To_String’:
autogen/include/Clownfish/Test/TestClass.h:165:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestClass *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestClass_To_String_t method = (TESTCFISH_TestClass_To_String_t)cfish_obj_method(self, TESTCFISH_TestClass_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestClass.h: In function ‘TESTCFISH_TestClass_Run’:
autogen/include/Clownfish/Test/TestClass.h:172:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestClass *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestClass_Run_t method = (TESTCFISH_TestClass_Run_t)cfish_obj_method(self, TESTCFISH_TestClass_Run_OFFSET);
      |                                              ^
In file included from autogen/source/testcfish_perl.c:38:
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_To_Host’:
autogen/include/Clownfish/Test/TestErr.h:130:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestErr *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestErr_To_Host_t method = (TESTCFISH_TestErr_To_Host_t)cfish_obj_method(self, TESTCFISH_TestErr_To_Host_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_Clone’:
autogen/include/Clownfish/Test/TestErr.h:137:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestErr *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestErr_Clone_t method = (TESTCFISH_TestErr_Clone_t)cfish_obj_method(self, TESTCFISH_TestErr_Clone_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_Equals’:
autogen/include/Clownfish/Test/TestErr.h:144:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestErr *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestErr_Equals_t method = (TESTCFISH_TestErr_Equals_t)cfish_obj_method(self, TESTCFISH_TestErr_Equals_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_Compare_To’:
autogen/include/Clownfish/Test/TestErr.h:151:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestErr *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestErr *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestErr_Compare_To_t method = (TESTCFISH_TestErr_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestErr_Compare_To_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_To_String’:
autogen/include/Clownfish/Test/TestErr.h:165:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestErr *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestErr_To_String_t method = (TESTCFISH_TestErr_To_String_t)cfish_obj_method(self, TESTCFISH_TestErr_To_String_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestErr.h: In function ‘TESTCFISH_TestErr_Run’:
autogen/include/Clownfish/Test/TestErr.h:172:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestErr *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestErr_Run_t method = (TESTCFISH_TestErr_Run_t)cfish_obj_method(self, TESTCFISH_TestErr_Run_OFFSET);
      |                                            ^
In file included from autogen/source/testcfish_perl.c:39:
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_To_Host’:
autogen/include/Clownfish/Test/TestHash.h:130:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestHash *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestHash_To_Host_t method = (TESTCFISH_TestHash_To_Host_t)cfish_obj_method(self, TESTCFISH_TestHash_To_Host_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_Clone’:
autogen/include/Clownfish/Test/TestHash.h:137:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHash *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestHash_Clone_t method = (TESTCFISH_TestHash_Clone_t)cfish_obj_method(self, TESTCFISH_TestHash_Clone_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_Equals’:
autogen/include/Clownfish/Test/TestHash.h:144:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHash *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestHash_Equals_t method = (TESTCFISH_TestHash_Equals_t)cfish_obj_method(self, TESTCFISH_TestHash_Equals_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_Compare_To’:
autogen/include/Clownfish/Test/TestHash.h:151:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHash *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestHash *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestHash_Compare_To_t method = (TESTCFISH_TestHash_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestHash_Compare_To_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_To_String’:
autogen/include/Clownfish/Test/TestHash.h:165:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHash *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestHash_To_String_t method = (TESTCFISH_TestHash_To_String_t)cfish_obj_method(self, TESTCFISH_TestHash_To_String_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestHash.h: In function ‘TESTCFISH_TestHash_Run’:
autogen/include/Clownfish/Test/TestHash.h:172:45: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestHash *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestHash_Run_t method = (TESTCFISH_TestHash_Run_t)cfish_obj_method(self, TESTCFISH_TestHash_Run_OFFSET);
      |                                             ^
In file included from autogen/source/testcfish_perl.c:40:
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_To_Host’:
autogen/include/Clownfish/Test/TestHashIterator.h:130:57: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestHashIterator *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestHashIterator_To_Host_t method = (TESTCFISH_TestHashIterator_To_Host_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_To_Host_OFFSET);
      |                                                         ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_Clone’:
autogen/include/Clownfish/Test/TestHashIterator.h:137:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHashIterator *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestHashIterator_Clone_t method = (TESTCFISH_TestHashIterator_Clone_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_Clone_OFFSET);
      |                                                       ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_Equals’:
autogen/include/Clownfish/Test/TestHashIterator.h:144:56: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHashIterator *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestHashIterator_Equals_t method = (TESTCFISH_TestHashIterator_Equals_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_Equals_OFFSET);
      |                                                        ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_Compare_To’:
autogen/include/Clownfish/Test/TestHashIterator.h:151:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHashIterator *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestHashIterator *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestHashIterator_Compare_To_t method = (TESTCFISH_TestHashIterator_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_Compare_To_OFFSET);
      |                                                            ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_To_String’:
autogen/include/Clownfish/Test/TestHashIterator.h:165:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHashIterator *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestHashIterator_To_String_t method = (TESTCFISH_TestHashIterator_To_String_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_To_String_OFFSET);
      |                                                           ^
autogen/include/Clownfish/Test/TestHashIterator.h: In function ‘TESTCFISH_TestHashIterator_Run’:
autogen/include/Clownfish/Test/TestHashIterator.h:172:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestHashIterator *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestHashIterator_Run_t method = (TESTCFISH_TestHashIterator_Run_t)cfish_obj_method(self, TESTCFISH_TestHashIterator_Run_OFFSET);
      |                                                     ^
In file included from autogen/source/testcfish_perl.c:41:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_To_Host’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:130:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestLockFreeRegistry *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestLFReg_To_Host_t method = (TESTCFISH_TestLFReg_To_Host_t)cfish_obj_method(self, TESTCFISH_TestLFReg_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_Clone’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:137:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestLockFreeRegistry *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestLFReg_Clone_t method = (TESTCFISH_TestLFReg_Clone_t)cfish_obj_method(self, TESTCFISH_TestLFReg_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_Equals’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:144:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestLockFreeRegistry *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestLFReg_Equals_t method = (TESTCFISH_TestLFReg_Equals_t)cfish_obj_method(self, TESTCFISH_TestLFReg_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_Compare_To’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:151:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestLockFreeRegistry *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestLockFreeRegistry *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestLFReg_Compare_To_t method = (TESTCFISH_TestLFReg_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestLFReg_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_To_String’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:165:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestLockFreeRegistry *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestLFReg_To_String_t method = (TESTCFISH_TestLFReg_To_String_t)cfish_obj_method(self, TESTCFISH_TestLFReg_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestLockFreeRegistry.h: In function ‘TESTCFISH_TestLFReg_Run’:
autogen/include/Clownfish/Test/TestLockFreeRegistry.h:172:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestLockFreeRegistry *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestLFReg_Run_t method = (TESTCFISH_TestLFReg_Run_t)cfish_obj_method(self, TESTCFISH_TestLFReg_Run_OFFSET);
      |                                              ^
In file included from autogen/source/testcfish_perl.c:42:
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_To_Host’:
autogen/include/Clownfish/Test/TestMethod.h:130:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestMethod *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestMethod_To_Host_t method = (TESTCFISH_TestMethod_To_Host_t)cfish_obj_method(self, TESTCFISH_TestMethod_To_Host_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_Clone’:
autogen/include/Clownfish/Test/TestMethod.h:137:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestMethod *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestMethod_Clone_t method = (TESTCFISH_TestMethod_Clone_t)cfish_obj_method(self, TESTCFISH_TestMethod_Clone_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_Equals’:
autogen/include/Clownfish/Test/TestMethod.h:144:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestMethod *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestMethod_Equals_t method = (TESTCFISH_TestMethod_Equals_t)cfish_obj_method(self, TESTCFISH_TestMethod_Equals_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_Compare_To’:
autogen/include/Clownfish/Test/TestMethod.h:151:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestMethod *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestMethod *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestMethod_Compare_To_t method = (TESTCFISH_TestMethod_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestMethod_Compare_To_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_To_String’:
autogen/include/Clownfish/Test/TestMethod.h:165:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestMethod *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestMethod_To_String_t method = (TESTCFISH_TestMethod_To_String_t)cfish_obj_method(self, TESTCFISH_TestMethod_To_String_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestMethod.h: In function ‘TESTCFISH_TestMethod_Run’:
autogen/include/Clownfish/Test/TestMethod.h:172:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestMethod *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestMethod_Run_t method = (TESTCFISH_TestMethod_Run_t)cfish_obj_method(self, TESTCFISH_TestMethod_Run_OFFSET);
      |                                               ^
In file included from autogen/source/testcfish_perl.c:43:
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_To_Host’:
autogen/include/Clownfish/Test/TestNum.h:130:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestNum *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestNum_To_Host_t method = (TESTCFISH_TestNum_To_Host_t)cfish_obj_method(self, TESTCFISH_TestNum_To_Host_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_Clone’:
autogen/include/Clownfish/Test/TestNum.h:137:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestNum *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestNum_Clone_t method = (TESTCFISH_TestNum_Clone_t)cfish_obj_method(self, TESTCFISH_TestNum_Clone_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_Equals’:
autogen/include/Clownfish/Test/TestNum.h:144:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestNum *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestNum_Equals_t method = (TESTCFISH_TestNum_Equals_t)cfish_obj_method(self, TESTCFISH_TestNum_Equals_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_Compare_To’:
autogen/include/Clownfish/Test/TestNum.h:151:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestNum *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestNum *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestNum_Compare_To_t method = (TESTCFISH_TestNum_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestNum_Compare_To_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_To_String’:
autogen/include/Clownfish/Test/TestNum.h:165:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestNum *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestNum_To_String_t method = (TESTCFISH_TestNum_To_String_t)cfish_obj_method(self, TESTCFISH_TestNum_To_String_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestNum.h: In function ‘TESTCFISH_TestNum_Run’:
autogen/include/Clownfish/Test/TestNum.h:172:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestNum *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestNum_Run_t method = (TESTCFISH_TestNum_Run_t)cfish_obj_method(self, TESTCFISH_TestNum_Run_OFFSET);
      |                                            ^
In file included from autogen/source/testcfish_perl.c:44:
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_To_Host’:
autogen/include/Clownfish/Test/TestObj.h:130:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestObj *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestObj_To_Host_t method = (TESTCFISH_TestObj_To_Host_t)cfish_obj_method(self, TESTCFISH_TestObj_To_Host_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_Clone’:
autogen/include/Clownfish/Test/TestObj.h:137:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestObj *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestObj_Clone_t method = (TESTCFISH_TestObj_Clone_t)cfish_obj_method(self, TESTCFISH_TestObj_Clone_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_Equals’:
autogen/include/Clownfish/Test/TestObj.h:144:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestObj *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestObj_Equals_t method = (TESTCFISH_TestObj_Equals_t)cfish_obj_method(self, TESTCFISH_TestObj_Equals_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_Compare_To’:
autogen/include/Clownfish/Test/TestObj.h:151:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestObj *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestObj *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestObj_Compare_To_t method = (TESTCFISH_TestObj_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestObj_Compare_To_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_To_String’:
autogen/include/Clownfish/Test/TestObj.h:165:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestObj *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestObj_To_String_t method = (TESTCFISH_TestObj_To_String_t)cfish_obj_method(self, TESTCFISH_TestObj_To_String_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestObj.h: In function ‘TESTCFISH_TestObj_Run’:
autogen/include/Clownfish/Test/TestObj.h:172:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestObj *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestObj_Run_t method = (TESTCFISH_TestObj_Run_t)cfish_obj_method(self, TESTCFISH_TestObj_Run_OFFSET);
      |                                            ^
In file included from autogen/source/testcfish_perl.c:45:
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_To_Host’:
autogen/include/Clownfish/Test/TestPtrHash.h:130:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestPtrHash *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestPtrHash_To_Host_t method = (TESTCFISH_TestPtrHash_To_Host_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_To_Host_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_Clone’:
autogen/include/Clownfish/Test/TestPtrHash.h:137:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestPtrHash *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestPtrHash_Clone_t method = (TESTCFISH_TestPtrHash_Clone_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_Clone_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_Equals’:
autogen/include/Clownfish/Test/TestPtrHash.h:144:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestPtrHash *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestPtrHash_Equals_t method = (TESTCFISH_TestPtrHash_Equals_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_Equals_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_Compare_To’:
autogen/include/Clownfish/Test/TestPtrHash.h:151:55: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestPtrHash *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestPtrHash *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestPtrHash_Compare_To_t method = (TESTCFISH_TestPtrHash_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_Compare_To_OFFSET);
      |                                                       ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_To_String’:
autogen/include/Clownfish/Test/TestPtrHash.h:165:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestPtrHash *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestPtrHash_To_String_t method = (TESTCFISH_TestPtrHash_To_String_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_To_String_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/TestPtrHash.h: In function ‘TESTCFISH_TestPtrHash_Run’:
autogen/include/Clownfish/Test/TestPtrHash.h:172:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestPtrHash *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestPtrHash_Run_t method = (TESTCFISH_TestPtrHash_Run_t)cfish_obj_method(self, TESTCFISH_TestPtrHash_Run_OFFSET);
      |                                                ^
In file included from autogen/source/testcfish_perl.c:46:
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_To_Host’:
autogen/include/Clownfish/Test/TestString.h:130:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestString *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestStr_To_Host_t method = (TESTCFISH_TestStr_To_Host_t)cfish_obj_method(self, TESTCFISH_TestStr_To_Host_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_Clone’:
autogen/include/Clownfish/Test/TestString.h:137:46: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestString *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestStr_Clone_t method = (TESTCFISH_TestStr_Clone_t)cfish_obj_method(self, TESTCFISH_TestStr_Clone_OFFSET);
      |                                              ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_Equals’:
autogen/include/Clownfish/Test/TestString.h:144:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestString *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestStr_Equals_t method = (TESTCFISH_TestStr_Equals_t)cfish_obj_method(self, TESTCFISH_TestStr_Equals_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_Compare_To’:
autogen/include/Clownfish/Test/TestString.h:151:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestString *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestString *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestStr_Compare_To_t method = (TESTCFISH_TestStr_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestStr_Compare_To_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_To_String’:
autogen/include/Clownfish/Test/TestString.h:165:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestString *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestStr_To_String_t method = (TESTCFISH_TestStr_To_String_t)cfish_obj_method(self, TESTCFISH_TestStr_To_String_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_TestStr_Run’:
autogen/include/Clownfish/Test/TestString.h:172:44: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestString *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestStr_Run_t method = (TESTCFISH_TestStr_Run_t)cfish_obj_method(self, TESTCFISH_TestStr_Run_OFFSET);
      |                                            ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_To_Host’:
autogen/include/Clownfish/Test/TestString.h:311:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_StringCallbackTest *, void *)’ [-Wcast-function-type]
  311 |     const TESTCFISH_StrCbTest_To_Host_t method = (TESTCFISH_StrCbTest_To_Host_t)cfish_obj_method(self, TESTCFISH_StrCbTest_To_Host_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_Clone’:
autogen/include/Clownfish/Test/TestString.h:318:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_StringCallbackTest *)’ [-Wcast-function-type]
  318 |     const TESTCFISH_StrCbTest_Clone_t method = (TESTCFISH_StrCbTest_Clone_t)cfish_obj_method(self, TESTCFISH_StrCbTest_Clone_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_Equals’:
autogen/include/Clownfish/Test/TestString.h:325:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_StringCallbackTest *, cfish_Obj *)’ [-Wcast-function-type]
  325 |     const TESTCFISH_StrCbTest_Equals_t method = (TESTCFISH_StrCbTest_Equals_t)cfish_obj_method(self, TESTCFISH_StrCbTest_Equals_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_Compare_To’:
autogen/include/Clownfish/Test/TestString.h:332:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_StringCallbackTest *, cfish_Obj *)’ {aka ‘int (*)(testcfish_StringCallbackTest *, cfish_Obj *)’} [-Wcast-function-type]
  332 |     const TESTCFISH_StrCbTest_Compare_To_t method = (TESTCFISH_StrCbTest_Compare_To_t)cfish_obj_method(self, TESTCFISH_StrCbTest_Compare_To_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_To_String’:
autogen/include/Clownfish/Test/TestString.h:346:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_StringCallbackTest *)’ [-Wcast-function-type]
  346 |     const TESTCFISH_StrCbTest_To_String_t method = (TESTCFISH_StrCbTest_To_String_t)cfish_obj_method(self, TESTCFISH_StrCbTest_To_String_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestString.h: In function ‘TESTCFISH_StrCbTest_Unchanged_By_Callback’:
autogen/include/Clownfish/Test/TestString.h:353:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_StringCallbackTest *, cfish_String *)’ [-Wcast-function-type]
  353 |     const TESTCFISH_StrCbTest_Unchanged_By_Callback_t method = (TESTCFISH_StrCbTest_Unchanged_By_Callback_t)cfish_obj_method(self, TESTCFISH_StrCbTest_Unchanged_By_Callback_OFFSET);
      |                                                                ^
In file included from autogen/source/testcfish_perl.c:47:
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_To_Host’:
autogen/include/Clownfish/Test/TestVector.h:130:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestVector *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestVector_To_Host_t method = (TESTCFISH_TestVector_To_Host_t)cfish_obj_method(self, TESTCFISH_TestVector_To_Host_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_Clone’:
autogen/include/Clownfish/Test/TestVector.h:137:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestVector *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestVector_Clone_t method = (TESTCFISH_TestVector_Clone_t)cfish_obj_method(self, TESTCFISH_TestVector_Clone_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_Equals’:
autogen/include/Clownfish/Test/TestVector.h:144:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestVector *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestVector_Equals_t method = (TESTCFISH_TestVector_Equals_t)cfish_obj_method(self, TESTCFISH_TestVector_Equals_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_Compare_To’:
autogen/include/Clownfish/Test/TestVector.h:151:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestVector *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestVector *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestVector_Compare_To_t method = (TESTCFISH_TestVector_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestVector_Compare_To_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_To_String’:
autogen/include/Clownfish/Test/TestVector.h:165:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestVector *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestVector_To_String_t method = (TESTCFISH_TestVector_To_String_t)cfish_obj_method(self, TESTCFISH_TestVector_To_String_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/TestVector.h: In function ‘TESTCFISH_TestVector_Run’:
autogen/include/Clownfish/Test/TestVector.h:172:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestVector *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestVector_Run_t method = (TESTCFISH_TestVector_Run_t)cfish_obj_method(self, TESTCFISH_TestVector_Run_OFFSET);
      |                                               ^
In file included from autogen/source/testcfish_perl.c:48:
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_To_Host’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:130:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestAtomic *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestAtomic_To_Host_t method = (TESTCFISH_TestAtomic_To_Host_t)cfish_obj_method(self, TESTCFISH_TestAtomic_To_Host_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_Clone’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:137:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestAtomic *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestAtomic_Clone_t method = (TESTCFISH_TestAtomic_Clone_t)cfish_obj_method(self, TESTCFISH_TestAtomic_Clone_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_Equals’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:144:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestAtomic *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestAtomic_Equals_t method = (TESTCFISH_TestAtomic_Equals_t)cfish_obj_method(self, TESTCFISH_TestAtomic_Equals_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_Compare_To’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:151:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestAtomic *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestAtomic *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestAtomic_Compare_To_t method = (TESTCFISH_TestAtomic_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestAtomic_Compare_To_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_To_String’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:165:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestAtomic *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestAtomic_To_String_t method = (TESTCFISH_TestAtomic_To_String_t)cfish_obj_method(self, TESTCFISH_TestAtomic_To_String_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/Util/TestAtomic.h: In function ‘TESTCFISH_TestAtomic_Run’:
autogen/include/Clownfish/Test/Util/TestAtomic.h:172:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestAtomic *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestAtomic_Run_t method = (TESTCFISH_TestAtomic_Run_t)cfish_obj_method(self, TESTCFISH_TestAtomic_Run_OFFSET);
      |                                               ^
In file included from autogen/source/testcfish_perl.c:49:
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_To_Host’:
autogen/include/Clownfish/Test/Util/TestMemory.h:130:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestMemory *, void *)’ [-Wcast-function-type]
  130 |     const TESTCFISH_TestMemory_To_Host_t method = (TESTCFISH_TestMemory_To_Host_t)cfish_obj_method(self, TESTCFISH_TestMemory_To_Host_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_Clone’:
autogen/include/Clownfish/Test/Util/TestMemory.h:137:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestMemory *)’ [-Wcast-function-type]
  137 |     const TESTCFISH_TestMemory_Clone_t method = (TESTCFISH_TestMemory_Clone_t)cfish_obj_method(self, TESTCFISH_TestMemory_Clone_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_Equals’:
autogen/include/Clownfish/Test/Util/TestMemory.h:144:50: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestMemory *, cfish_Obj *)’ [-Wcast-function-type]
  144 |     const TESTCFISH_TestMemory_Equals_t method = (TESTCFISH_TestMemory_Equals_t)cfish_obj_method(self, TESTCFISH_TestMemory_Equals_OFFSET);
      |                                                  ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_Compare_To’:
autogen/include/Clownfish/Test/Util/TestMemory.h:151:54: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestMemory *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestMemory *, cfish_Obj *)’} [-Wcast-function-type]
  151 |     const TESTCFISH_TestMemory_Compare_To_t method = (TESTCFISH_TestMemory_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestMemory_Compare_To_OFFSET);
      |                                                      ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_To_String’:
autogen/include/Clownfish/Test/Util/TestMemory.h:165:53: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestMemory *)’ [-Wcast-function-type]
  165 |     const TESTCFISH_TestMemory_To_String_t method = (TESTCFISH_TestMemory_To_String_t)cfish_obj_method(self, TESTCFISH_TestMemory_To_String_OFFSET);
      |                                                     ^
autogen/include/Clownfish/Test/Util/TestMemory.h: In function ‘TESTCFISH_TestMemory_Run’:
autogen/include/Clownfish/Test/Util/TestMemory.h:172:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void (*)(testcfish_TestMemory *, cfish_TestBatchRunner *)’ [-Wcast-function-type]
  172 |     const TESTCFISH_TestMemory_Run_t method = (TESTCFISH_TestMemory_Run_t)cfish_obj_method(self, TESTCFISH_TestMemory_Run_OFFSET);
      |                                               ^
In file included from autogen/source/testcfish_perl.c:50:
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_To_Host’:
autogen/include/Clownfish/Test/TestHost.h:220:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestHost *, void *)’ [-Wcast-function-type]
  220 |     const TESTCFISH_TestHost_To_Host_t method = (TESTCFISH_TestHost_To_Host_t)cfish_obj_method(self, TESTCFISH_TestHost_To_Host_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Clone’:
autogen/include/Clownfish/Test/TestHost.h:227:47: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHost *)’ [-Wcast-function-type]
  227 |     const TESTCFISH_TestHost_Clone_t method = (TESTCFISH_TestHost_Clone_t)cfish_obj_method(self, TESTCFISH_TestHost_Clone_OFFSET);
      |                                               ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Equals’:
autogen/include/Clownfish/Test/TestHost.h:234:48: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHost *, cfish_Obj *)’ [-Wcast-function-type]
  234 |     const TESTCFISH_TestHost_Equals_t method = (TESTCFISH_TestHost_Equals_t)cfish_obj_method(self, TESTCFISH_TestHost_Equals_OFFSET);
      |                                                ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Compare_To’:
autogen/include/Clownfish/Test/TestHost.h:241:52: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHost *, cfish_Obj *)’ {aka ‘int (*)(testcfish_TestHost *, cfish_Obj *)’} [-Wcast-function-type]
  241 |     const TESTCFISH_TestHost_Compare_To_t method = (TESTCFISH_TestHost_Compare_To_t)cfish_obj_method(self, TESTCFISH_TestHost_Compare_To_OFFSET);
      |                                                    ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_To_String’:
autogen/include/Clownfish/Test/TestHost.h:255:51: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHost *)’ [-Wcast-function-type]
  255 |     const TESTCFISH_TestHost_To_String_t method = (TESTCFISH_TestHost_To_String_t)cfish_obj_method(self, TESTCFISH_TestHost_To_String_OFFSET);
      |                                                   ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Obj_Pos_Arg’:
autogen/include/Clownfish/Test/TestHost.h:262:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *)’ [-Wcast-function-type]
  262 |     const TESTCFISH_TestHost_Test_Obj_Pos_Arg_t method = (TESTCFISH_TestHost_Test_Obj_Pos_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Obj_Pos_Arg_OFFSET);
      |                                                          ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Obj_Pos_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:269:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *)’ [-Wcast-function-type]
  269 |     const TESTCFISH_TestHost_Test_Obj_Pos_Arg_Def_t method = (TESTCFISH_TestHost_Test_Obj_Pos_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Obj_Pos_Arg_Def_OFFSET);
      |                                                              ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Obj_Label_Arg’:
autogen/include/Clownfish/Test/TestHost.h:276:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *, _Bool)’ [-Wcast-function-type]
  276 |     const TESTCFISH_TestHost_Test_Obj_Label_Arg_t method = (TESTCFISH_TestHost_Test_Obj_Label_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Obj_Label_Arg_OFFSET);
      |                                                            ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Obj_Label_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:283:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_Obj * (*)(testcfish_TestHost *, cfish_Obj *, _Bool)’ [-Wcast-function-type]
  283 |     const TESTCFISH_TestHost_Test_Obj_Label_Arg_Def_t method = (TESTCFISH_TestHost_Test_Obj_Label_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Obj_Label_Arg_Def_OFFSET);
      |                                                                ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Int32_Pos_Arg’:
autogen/include/Clownfish/Test/TestHost.h:290:60: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHost *, int32_t)’ {aka ‘int (*)(testcfish_TestHost *, int)’} [-Wcast-function-type]
  290 |     const TESTCFISH_TestHost_Test_Int32_Pos_Arg_t method = (TESTCFISH_TestHost_Test_Int32_Pos_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Int32_Pos_Arg_OFFSET);
      |                                                            ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Int32_Pos_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:297:64: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHost *, int32_t)’ {aka ‘int (*)(testcfish_TestHost *, int)’} [-Wcast-function-type]
  297 |     const TESTCFISH_TestHost_Test_Int32_Pos_Arg_Def_t method = (TESTCFISH_TestHost_Test_Int32_Pos_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Int32_Pos_Arg_Def_OFFSET);
      |                                                                ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Int32_Label_Arg’:
autogen/include/Clownfish/Test/TestHost.h:304:62: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHost *, int32_t,  _Bool)’ {aka ‘int (*)(testcfish_TestHost *, int,  _Bool)’} [-Wcast-function-type]
  304 |     const TESTCFISH_TestHost_Test_Int32_Label_Arg_t method = (TESTCFISH_TestHost_Test_Int32_Label_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Int32_Label_Arg_OFFSET);
      |                                                              ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Int32_Label_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:311:66: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘int32_t (*)(testcfish_TestHost *, int32_t,  _Bool)’ {aka ‘int (*)(testcfish_TestHost *, int,  _Bool)’} [-Wcast-function-type]
  311 |     const TESTCFISH_TestHost_Test_Int32_Label_Arg_Def_t method = (TESTCFISH_TestHost_Test_Int32_Label_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Int32_Label_Arg_Def_OFFSET);
      |                                                                  ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Bool_Pos_Arg’:
autogen/include/Clownfish/Test/TestHost.h:318:59: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHost *, _Bool)’ [-Wcast-function-type]
  318 |     const TESTCFISH_TestHost_Test_Bool_Pos_Arg_t method = (TESTCFISH_TestHost_Test_Bool_Pos_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Bool_Pos_Arg_OFFSET);
      |                                                           ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Bool_Pos_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:325:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHost *, _Bool)’ [-Wcast-function-type]
  325 |     const TESTCFISH_TestHost_Test_Bool_Pos_Arg_Def_t method = (TESTCFISH_TestHost_Test_Bool_Pos_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Bool_Pos_Arg_Def_OFFSET);
      |                                                               ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Bool_Label_Arg’:
autogen/include/Clownfish/Test/TestHost.h:332:61: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHost *, _Bool,  _Bool)’ [-Wcast-function-type]
  332 |     const TESTCFISH_TestHost_Test_Bool_Label_Arg_t method = (TESTCFISH_TestHost_Test_Bool_Label_Arg_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Bool_Label_Arg_OFFSET);
      |                                                             ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Test_Bool_Label_Arg_Def’:
autogen/include/Clownfish/Test/TestHost.h:339:65: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘_Bool (*)(testcfish_TestHost *, _Bool,  _Bool)’ [-Wcast-function-type]
  339 |     const TESTCFISH_TestHost_Test_Bool_Label_Arg_Def_t method = (TESTCFISH_TestHost_Test_Bool_Label_Arg_Def_t)cfish_obj_method(self, TESTCFISH_TestHost_Test_Bool_Label_Arg_Def_OFFSET);
      |                                                                 ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Invalid_Callback’:
autogen/include/Clownfish/Test/TestHost.h:346:58: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘void * (*)(testcfish_TestHost *)’ [-Wcast-function-type]
  346 |     const TESTCFISH_TestHost_Invalid_Callback_t method = (TESTCFISH_TestHost_Invalid_Callback_t)cfish_obj_method(self, TESTCFISH_TestHost_Invalid_Callback_OFFSET);
      |                                                          ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Aliased’:
autogen/include/Clownfish/Test/TestHost.h:360:49: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHost *)’ [-Wcast-function-type]
  360 |     const TESTCFISH_TestHost_Aliased_t method = (TESTCFISH_TestHost_Aliased_t)cfish_obj_method(self, TESTCFISH_TestHost_Aliased_OFFSET);
      |                                                 ^
autogen/include/Clownfish/Test/TestHost.h: In function ‘TESTCFISH_TestHost_Invoke_Aliased_From_C’:
autogen/include/Clownfish/Test/TestHost.h:367:63: warning: cast between incompatible function types from ‘cfish_method_t’ {aka ‘void (*)(const void *)’} to ‘cfish_String * (*)(testcfish_TestHost *)’ [-Wcast-function-type]
  367 |     const TESTCFISH_TestHost_Invoke_Aliased_From_C_t method = (TESTCFISH_TestHost_Invoke_Aliased_From_C_t)cfish_obj_method(self, TESTCFISH_TestHost_Invoke_Aliased_From_C_OFFSET);
      |                                                               ^
autogen/source/testcfish_perl.c: At top level:
autogen/source/testcfish_perl.c:108:1: warning: ‘S_finish_callback_f64’ defined but not used [-Wunused-function]
  108 | S_finish_callback_f64(pTHX_ const char *meth_name) {
      | ^~~~~~~~~~~~~~~~~~~~~
gcc -Icfcore -Ixs -I. -Iautogen/include -I/usr/lib64/perl5/CORE '-DVERSION="0.6.3"' '-DXS_VERSION="0.6.3"' -fPIC -c -D_REENTRANT -D_GNU_SOURCE -O2 '-flto=auto' -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang '-Werror=format-security' '-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3' -Wp,-D_GLIBCXX_ASSERTIONS '-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1' -fstack-protector-strong '-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1' '-mbranch-protection=standard' -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE '-D_FILE_OFFSET_BITS=64' -O2 '-flto=auto' -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall '-Werror=format-security' '-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3' -Wp,-D_GLIBCXX_ASSERTIONS '-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1' -fstack-protector-strong '-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1' '-mbranch-protection=standard' -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -o lib/Clownfish/Test.o lib/Clownfish/Test.c
gcc -lpthread -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now '-specs=/usr/lib/rpm/redhat/redhat-hardened-ld' '-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1' '-Wl,--build-id=sha1' -L/usr/local/lib -fstack-protector-strong -lperl -o blib/arch/auto/Clownfish/Test/Test.so lib/Clownfish/Test.o cftest/TestClownfish.o cftest/Clownfish/Test.o cftest/Clownfish/Test/TestBlob.o cftest/Clownfish/Test/TestBoolean.o cftest/Clownfish/Test/TestByteBuf.o cftest/Clownfish/Test/TestCharBuf.o cftest/Clownfish/Test/TestClass.o cftest/Clownfish/Test/TestErr.o cftest/Clownfish/Test/TestHash.o cftest/Clownfish/Test/TestHashIterator.o cftest/Clownfish/Test/TestHost.o cftest/Clownfish/Test/TestLockFreeRegistry.o cftest/Clownfish/Test/TestMethod.o cftest/Clownfish/Test/TestNum.o cftest/Clownfish/Test/TestObj.o cftest/Clownfish/Test/TestPtrHash.o cftest/Clownfish/Test/TestString.o cftest/Clownfish/Test/TestVector.o cftest/Clownfish/Test/Util/TestAtomic.o cftest/Clownfish/Test/Util/TestMemory.o autogen/source/testcfish_parcel.o autogen/source/testcfish_perl.o -l m
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.nCXy6o
+ umask 022
+ cd /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ '[' /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT '!=' / ']'
+ rm -rf /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT
++ dirname /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT
+ mkdir -p /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ mkdir /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer '
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer '
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn'
+ export RUSTFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd Clownfish-0.6.3
+ ./Build install destdir=/builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT create_packlist=0
Building Clownfish
make core_objects
make: Nothing to be done for 'core_objects'.
make test_objects
make: Nothing to be done for 'test_objects'.
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/XSBind.h
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/parcel.json
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/parcel_perl.json
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/Blob.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/Boolean.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/ByteBuf.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/CharBuf.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/Class.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/Err.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/Hash.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/HashIterator.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/Method.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/Num.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/Obj.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/String.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/Vector.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/TestHarness/TestBatch.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/TestHarness/TestBatchRunner.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/TestHarness/TestFormatter.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/TestHarness/TestSuite.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/TestHarness/TestSuiteRunner.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/TestHarness/TestUtils.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/Util/Memory.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/_include/Clownfish/v0.6.3/Clownfish/Util/SortUtils.cfh
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/auto/Clownfish/Clownfish.bs
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/auto/Clownfish/Clownfish.so
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish.pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Blob.pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Boolean.pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/ByteBuf.pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/CharBuf.pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Class.pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Err.pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Float.pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Hash.pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/HashIterator.pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Integer.pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Obj.pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/String.pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Vector.pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Blob.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Boolean.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/ByteBuf.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/CharBuf.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Class.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Err.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Float.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Hash.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/HashIterator.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Integer.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Obj.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/String.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/StringIterator.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Vector.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Docs/BuildingProjects.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Docs/ClassIntro.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/lib64/perl5/vendor_perl/Clownfish/Docs/WritingClasses.pod
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::Blob.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::Boolean.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::ByteBuf.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::CharBuf.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::Class.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::Docs::BuildingProjects.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::Docs::ClassIntro.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::Docs::WritingClasses.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::Err.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::Float.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::Hash.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::HashIterator.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::Integer.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::Obj.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::String.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::StringIterator.3pm
Installing /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/man/man3/Clownfish::Vector.3pm
+ find /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT -type f -name '*.bs' -size 0 -delete
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr
+ /usr/bin/find-debuginfo -j4 --strict-build-id -m -i --build-id-seed 0.6.3-23.fc42 --unique-debug-suffix -0.6.3-23.fc42.aarch64 --unique-debug-src-base perl-Clownfish-0.6.3-23.fc42.aarch64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/perl-Clownfish-0.6.3-build/Clownfish-0.6.3
find-debuginfo: starting
Extracting debug info from 1 files
DWARF-compressing 1 files
sepdebugcrcfix: Updated 1 CRC32s, 0 CRC32s did match.
Creating .debug symlinks for symlinks to ELF files
Copying sources found by 'debugedit -l' to /usr/src/debug/perl-Clownfish-0.6.3-23.fc42.aarch64
find-debuginfo: done
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-ldconfig
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/check-rpaths
+ /usr/lib/rpm/redhat/brp-mangle-shebangs
+ /usr/lib/rpm/brp-remove-la-files
+ env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j4
+ /usr/lib/rpm/redhat/brp-python-hardlink
+ /usr/bin/add-determinism --brp -j4 /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT
Scanned 41 directories and 134 files,
               processed 0 inodes,
               0 modified (0 replaced + 0 rewritten),
               0 unsupported format, 0 errors
Reading /builddir/build/BUILD/perl-Clownfish-0.6.3-build/SPECPARTS/rpm-debuginfo.specpart
Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.lRjROT
+ umask 022
+ cd /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer '
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer '
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn'
+ export RUSTFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd Clownfish-0.6.3
+ ./Build test
make core_objects
make: Nothing to be done for 'core_objects'.
make test_objects
make: Nothing to be done for 'test_objects'.
t/binding/002-clownfish.t .. ok
t/binding/010-class.t ...... ok
t/binding/016-vector.t ..... ok
t/binding/017-hash.t ....... ok
t/binding/018-host.t ....... ok
t/binding/019-obj.t ........ ok
t/binding/021-blob.t ....... ok
t/binding/022-bytebuf.t .... ok
t/binding/023-string.t ..... ok
t/binding/029-charbuf.t .... ok
t/binding/031-num.t ........ ok
t/binding/034-err.t ........ ok
t/core/010-class.t ......... ok
t/core/011-method.t ........ ok
t/core/016-vector.t ........ ok
t/core/017-hash.t .......... ok
t/core/019-obj.t ........... ok
t/core/020-err.t ........... ok
t/core/021-blob.t .......... ok
t/core/022-bytebuf.t ....... ok
t/core/023-string.t ........ ok
t/core/029-charbuf.t ....... ok
t/core/030-boolean.t ....... ok
t/core/031-num.t ........... ok
t/core/037-atomic.t ........ ok
t/core/039-memory.t ........ ok
t/core/050-ptrhash.t ....... ok
All tests successful.
Files=27, Tests=739,  1 wallclock secs ( 0.05 usr  0.06 sys +  0.93 cusr  0.18 csys =  1.22 CPU)
Result: PASS
+ RPM_EC=0
++ jobs -p
+ exit 0
Processing files: perl-Clownfish-0.6.3-23.fc42.aarch64
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.Fgf3pi
+ umask 022
+ cd /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ cd Clownfish-0.6.3
+ DOCDIR=/builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/doc/perl-Clownfish
+ export LC_ALL=C.UTF-8
+ LC_ALL=C.UTF-8
+ export DOCDIR
+ /usr/bin/mkdir -p /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/doc/perl-Clownfish
+ cp -pr /builddir/build/BUILD/perl-Clownfish-0.6.3-build/Clownfish-0.6.3/CONTRIBUTING.md /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/doc/perl-Clownfish
+ cp -pr /builddir/build/BUILD/perl-Clownfish-0.6.3-build/Clownfish-0.6.3/NOTICE /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/doc/perl-Clownfish
+ cp -pr /builddir/build/BUILD/perl-Clownfish-0.6.3-build/Clownfish-0.6.3/README.md /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/doc/perl-Clownfish
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.WVQcVj
+ umask 022
+ cd /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ cd Clownfish-0.6.3
+ LICENSEDIR=/builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/licenses/perl-Clownfish
+ export LC_ALL=C.UTF-8
+ LC_ALL=C.UTF-8
+ export LICENSEDIR
+ /usr/bin/mkdir -p /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/licenses/perl-Clownfish
+ cp -pr /builddir/build/BUILD/perl-Clownfish-0.6.3-build/Clownfish-0.6.3/LICENSE /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT/usr/share/licenses/perl-Clownfish
+ RPM_EC=0
++ jobs -p
+ exit 0
Provides: perl(Clownfish) = 0.006003 perl(Clownfish::Blob) = 0.006003 perl(Clownfish::Boolean) = 0.006003 perl(Clownfish::ByteBuf) = 0.006003 perl(Clownfish::CharBuf) = 0.006003 perl(Clownfish::Class) = 0.006003 perl(Clownfish::Err) = 0.006003 perl(Clownfish::Float) = 0.006003 perl(Clownfish::Hash) = 0.006003 perl(Clownfish::HashIterator) = 0.006003 perl(Clownfish::Integer) = 0.006003 perl(Clownfish::Method) = 0.006003 perl(Clownfish::Obj) = 0.006003 perl(Clownfish::String) = 0.006003 perl(Clownfish::Vector) = 0.006003 perl-Clownfish = 0.6.3-23.fc42 perl-Clownfish(aarch-64) = 0.6.3-23.fc42
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_ABI_DT_RELR)(64bit) perl(:MODULE_COMPAT_5.40.0) perl(:VERSION) >= 5.8.3 perl(Carp) perl(Clownfish) perl(Exporter) perl(Scalar::Util) perl(overload) perl(strict) perl(warnings) perl-libs rtld(GNU_HASH)
Processing files: perl-Clownfish-debugsource-0.6.3-23.fc42.aarch64
Provides: perl-Clownfish-debugsource = 0.6.3-23.fc42 perl-Clownfish-debugsource(aarch-64) = 0.6.3-23.fc42
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Processing files: perl-Clownfish-debuginfo-0.6.3-23.fc42.aarch64
Provides: debuginfo(build-id) = b0cfbdea14b7439364e64f9586dddc25ee01f8c8 perl-Clownfish-debuginfo = 0.6.3-23.fc42 perl-Clownfish-debuginfo(aarch-64) = 0.6.3-23.fc42
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Recommends: perl-Clownfish-debugsource(aarch-64) = 0.6.3-23.fc42
Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILD/perl-Clownfish-0.6.3-build/BUILDROOT
Wrote: /builddir/build/RPMS/perl-Clownfish-0.6.3-23.fc42.aarch64.rpm
Wrote: /builddir/build/RPMS/perl-Clownfish-debuginfo-0.6.3-23.fc42.aarch64.rpm
Wrote: /builddir/build/RPMS/perl-Clownfish-debugsource-0.6.3-23.fc42.aarch64.rpm
Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.Ruq6f7
+ umask 022
+ cd /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ test -d /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ rm -rf /builddir/build/BUILD/perl-Clownfish-0.6.3-build
+ RPM_EC=0
++ jobs -p
+ exit 0
Finish: rpmbuild perl-Clownfish-0.6.3-23.fc42.src.rpm
Finish: build phase for perl-Clownfish-0.6.3-23.fc42.src.rpm
INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan
INFO: /var/lib/mock/fedora-rawhide-aarch64-1734741474.003440/root/var/log/dnf5.log
INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz
/bin/tar: Removing leading `/' from member names
INFO: Done(/var/lib/copr-rpmbuild/results/perl-Clownfish-0.6.3-23.fc42.src.rpm) Config(child) 0 minutes 30 seconds
INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results
INFO: Cleaning up build root ('cleanup_on_success=True')
Start: clean chroot
INFO: unmounting tmpfs.
Finish: clean chroot
Finish: run
Running RPMResults tool
Package info:
{
    "packages": [
        {
            "name": "perl-Clownfish",
            "epoch": null,
            "version": "0.6.3",
            "release": "23.fc42",
            "arch": "aarch64"
        },
        {
            "name": "perl-Clownfish-debugsource",
            "epoch": null,
            "version": "0.6.3",
            "release": "23.fc42",
            "arch": "aarch64"
        },
        {
            "name": "perl-Clownfish-debuginfo",
            "epoch": null,
            "version": "0.6.3",
            "release": "23.fc42",
            "arch": "aarch64"
        },
        {
            "name": "perl-Clownfish",
            "epoch": null,
            "version": "0.6.3",
            "release": "23.fc42",
            "arch": "src"
        }
    ]
}
RPMResults finished