src/tds/unittests/declarations

Main

Hostnamekrb5.freetds.io
uname -aLinux krb5.freetds.io 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
date2024-04-18

==16599== Memcheck, a memory error detector
==16599== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==16599== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==16599== Command: ./declarations
==16599== 
--16599-- Valgrind options:
--16599--    --tool=memcheck
--16599--    --vgdb=no
--16599--    --num-callers=20
--16599--    --leak-check=yes
--16599--    -v
--16599--    --show-reachable=yes
--16599--    --log-fd=3
--16599--    --suppressions=/home/test/suppressions.supp
--16599--    --track-origins=yes
--16599-- Contents of /proc/version:
--16599--   Linux version 4.15.0-213-generic (buildd@lcy02-amd64-079) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023
--16599-- 
--16599-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-avx-avx2-bmi
--16599-- Page sizes: currently 4096, max supported 4096
--16599-- Valgrind library directory: /usr/lib/valgrind
--16599-- Reading syms from /home/test/ftdstmp/ftds_comp99m/test1/src/tds/unittests/declarations
--16599-- Reading syms from /lib/x86_64-linux-gnu/ld-2.27.so
--16599--   Considering /lib/x86_64-linux-gnu/ld-2.27.so ..
--16599--   .. CRC mismatch (computed 2977d8b2 wanted c64f09ed)
--16599--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.27.so ..
--16599--   .. CRC is valid
--16599-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux
--16599--   Considering /usr/lib/valgrind/memcheck-amd64-linux ..
--16599--   .. CRC mismatch (computed 41ddb025 wanted 9972f546)
--16599--    object doesn't have a symbol table
--16599--    object doesn't have a dynamic symbol table
--16599-- Scheduler: using generic scheduler lock implementation.
--16599-- Reading suppressions file: /home/test/suppressions.supp
--16599-- Reading suppressions file: /usr/lib/valgrind/default.supp
--16599-- REDIR: 0x4020d20 (ld-linux-x86-64.so.2:strlen) redirected to 0x580608c1 (???)
--16599-- REDIR: 0x4020b00 (ld-linux-x86-64.so.2:index) redirected to 0x580608db (???)
--16599-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so
--16599--   Considering /usr/lib/valgrind/vgpreload_core-amd64-linux.so ..
--16599--   .. CRC mismatch (computed 50df1b30 wanted 4800a4cf)
--16599--    object doesn't have a symbol table
--16599-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
--16599--   Considering /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so ..
--16599--   .. CRC mismatch (computed f893b962 wanted 95ee359e)
--16599--    object doesn't have a symbol table
==16599== WARNING: new redirection conflicts with existing -- ignoring it
--16599--     old: 0x04020d20 (strlen              ) R-> (0000.0) 0x580608c1 ???
--16599--     new: 0x04020d20 (strlen              ) R-> (2007.0) 0x04c34db0 strlen
--16599-- REDIR: 0x401d540 (ld-linux-x86-64.so.2:strcmp) redirected to 0x4c35ee0 (strcmp)
--16599-- REDIR: 0x4021260 (ld-linux-x86-64.so.2:mempcpy) redirected to 0x4c394f0 (mempcpy)
--16599-- Reading syms from /usr/lib/x86_64-linux-gnu/libgnutls.so.30.14.10
--16599--    object doesn't have a symbol table
--16599-- Reading syms from /lib/x86_64-linux-gnu/libpthread-2.27.so
--16599--   Considering /usr/lib/debug/.build-id/1f/06001733b9be9478b105faf0dac6bdf36c85de.debug ..
--16599--   .. build-id is valid
--16599-- Reading syms from /lib/x86_64-linux-gnu/libc-2.27.so
--16599--   Considering /lib/x86_64-linux-gnu/libc-2.27.so ..
--16599--   .. CRC mismatch (computed f250d419 wanted 4aacab51)
--16599--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.27.so ..
--16599--   .. CRC is valid
--16599-- Reading syms from /lib/x86_64-linux-gnu/libz.so.1.2.11
--16599--    object doesn't have a symbol table
--16599-- Reading syms from /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.3.0
--16599--    object doesn't have a symbol table
--16599-- Reading syms from /usr/lib/x86_64-linux-gnu/libidn2.so.0.3.3
--16599--    object doesn't have a symbol table
--16599-- Reading syms from /usr/lib/x86_64-linux-gnu/libunistring.so.2.1.0
--16599--    object doesn't have a symbol table
--16599-- Reading syms from /usr/lib/x86_64-linux-gnu/libtasn1.so.6.5.5
--16599--    object doesn't have a symbol table
--16599-- Reading syms from /usr/lib/x86_64-linux-gnu/libnettle.so.6.5
--16599--    object doesn't have a symbol table
--16599-- Reading syms from /usr/lib/x86_64-linux-gnu/libhogweed.so.4.5
--16599--    object doesn't have a symbol table
--16599-- Reading syms from /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.2
--16599--    object doesn't have a symbol table
--16599-- Reading syms from /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4
--16599--    object doesn't have a symbol table
--16599-- Reading syms from /lib/x86_64-linux-gnu/libdl-2.27.so
--16599--   Considering /lib/x86_64-linux-gnu/libdl-2.27.so ..
--16599--   .. CRC mismatch (computed 56b0b30d wanted 7867693f)
--16599--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libdl-2.27.so ..
--16599--   .. CRC is valid
--16599-- REDIR: 0x5461a50 (libc.so.6:memmove) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5460d60 (libc.so.6:strncpy) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5461d30 (libc.so.6:strcasecmp) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x54607b0 (libc.so.6:strcat) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5460d90 (libc.so.6:rindex) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5463480 (libc.so.6:rawmemchr) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5461bc0 (libc.so.6:mempcpy) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x54619f0 (libc.so.6:bcmp) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5460d20 (libc.so.6:strncmp) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5460820 (libc.so.6:strcmp) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5461b20 (libc.so.6:memset) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x547edb0 (libc.so.6:wcschr) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5460cc0 (libc.so.6:strnlen) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5460890 (libc.so.6:strcspn) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5461d80 (libc.so.6:strncasecmp) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5460860 (libc.so.6:strcpy) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5461ec0 (libc.so.6:memcpy@@GLIBC_2.14) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5460dc0 (libc.so.6:strpbrk) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x54607e0 (libc.so.6:index) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5460c90 (libc.so.6:strlen) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x546b380 (libc.so.6:memrchr) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5461dd0 (libc.so.6:strcasecmp_l) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x54619c0 (libc.so.6:memchr) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x547fb70 (libc.so.6:wcslen) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5461070 (libc.so.6:strspn) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5461d00 (libc.so.6:stpncpy) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5461cd0 (libc.so.6:stpcpy) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x54634b0 (libc.so.6:strchrnul) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5461e20 (libc.so.6:strncasecmp_l) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5460cf0 (libc.so.6:strncat) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x54f4700 (libc.so.6:__memcpy_chk) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x54f47d0 (libc.so.6:__memmove_chk) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
==16599== WARNING: new redirection conflicts with existing -- ignoring it
--16599--     old: 0x05551980 (__memcpy_chk_avx_una) R-> (2030.0) 0x04c395e0 __memcpy_chk
--16599--     new: 0x05551980 (__memcpy_chk_avx_una) R-> (2024.0) 0x04c38fa0 __memmove_chk
--16599-- REDIR: 0x5461900 (libc.so.6:strstr) redirected to 0x4a2c6e0 (_vgnU_ifunc_wrapper)
--16599-- REDIR: 0x5551280 (libc.so.6:__strrchr_avx2) redirected to 0x4c34730 (rindex)
--16599-- REDIR: 0x5551450 (libc.so.6:__strlen_avx2) redirected to 0x4c34cf0 (strlen)
--16599-- REDIR: 0x545a020 (libc.so.6:malloc) redirected to 0x4c31aa0 (malloc)
--16599-- REDIR: 0x5551990 (libc.so.6:__memcpy_avx_unaligned_erms) redirected to 0x4c386e0 (memmove)
--16599-- REDIR: 0x546cb30 (libc.so.6:__strcmp_sse2_unaligned) redirected to 0x4c35da0 (strcmp)
--16599-- REDIR: 0x545d050 (libc.so.6:calloc) redirected to 0x4c33a70 (calloc)
--16599-- REDIR: 0x5550e60 (libc.so.6:__strchr_avx2) redirected to 0x4c34950 (index)
--16599-- REDIR: 0x5551980 (libc.so.6:__memcpy_chk_avx_unaligned_erms) redirected to 0x4c395e0 (__memcpy_chk)
--16599-- REDIR: 0x545a910 (libc.so.6:free) redirected to 0x4c32cd0 (free)
--16599-- REDIR: 0x54615a0 (libc.so.6:__GI_strstr) redirected to 0x4c39760 (__strstr_sse2)
--16599-- REDIR: 0x554d2e0 (libc.so.6:__memchr_avx2) redirected to 0x4c35f80 (memchr)
--16599-- REDIR: 0x554de40 (libc.so.6:__strcasecmp_avx) redirected to 0x4c355f0 (strcasecmp)
--16599-- REDIR: 0x5551090 (libc.so.6:__strchrnul_avx2) redirected to 0x4c39020 (strchrnul)
converted 47 (char, 6 bytes) -> 34 (image, 2 bytes).
--16599-- REDIR: 0x5551e10 (libc.so.6:__memset_avx2_unaligned_erms) redirected to 0x4c385d0 (memset)
Declaration: IMAGE
converted 47 (char, 25 bytes) -> 35 (text, 25 bytes).
Declaration: TEXT
converted 47 (char, 36 bytes) -> 36 (uniqueidentifier, 16 bytes).
Declaration: UNIQUEIDENTIFIER
--16599-- REDIR: 0x545bc50 (libc.so.6:realloc) redirected to 0x4c33cb0 (realloc)
Declaration: SQL_VARIANT
converted 47 (char, 1 bytes) -> 37 (varbinary, 1 bytes).
Declaration: VARBINARY(1)
Declaration: SQL_VARIANT
converted 47 (char, 3 bytes) -> 48 (tinyint, 1 bytes).
Declaration: TINYINT
Declaration: SQL_VARIANT
converted 47 (char, 3 bytes) -> 48 (tinyint, 1 bytes).
Declaration: TINYINT
Declaration: SQL_VARIANT
converted 47 (char, 3 bytes) -> 52 (smallint, 2 bytes).
Declaration: SMALLINT
Declaration: SQL_VARIANT
converted 47 (char, 3 bytes) -> 52 (smallint, 2 bytes).
Declaration: SMALLINT
Declaration: SQL_VARIANT
converted 47 (char, 3 bytes) -> 56 (int, 4 bytes).
Declaration: INT
Declaration: SQL_VARIANT
converted 47 (char, 3 bytes) -> 56 (int, 4 bytes).
Declaration: INT
Declaration: SQL_VARIANT
converted 47 (char, 12 bytes) -> 127 (bigint, 8 bytes).
Declaration: BIGINT
Declaration: SQL_VARIANT
converted 47 (char, 12 bytes) -> 127 (bigint, 8 bytes).
Declaration: BIGINT
Declaration: SQL_VARIANT
converted 47 (char, 25 bytes) -> 39 (varchar, 25 bytes).
Declaration: VARCHAR(25)
Declaration: SQL_VARIANT
--16599-- REDIR: 0x554d1c0 (libc.so.6:__strspn_sse42) redirected to 0x4c39990 (strspn)
--16599-- REDIR: 0x554cf30 (libc.so.6:__strcspn_sse42) redirected to 0x4c398d0 (strcspn)
converted 47 (char, 10 bytes) -> 40 (date, 16 bytes).
Declaration: DATE
Declaration: SQL_VARIANT
converted 47 (char, 15 bytes) -> 41 (time, 16 bytes).
Declaration: TIME
Declaration: SQL_VARIANT
converted 47 (char, 26 bytes) -> 42 (datetime2, 16 bytes).
Declaration: DATETIME2
Declaration: SQL_VARIANT
converted 47 (char, 26 bytes) -> 43 (datetimeoffset, 16 bytes).
Declaration: DATETIMEOFFSET
Declaration: SQL_VARIANT
converted 47 (char, 6 bytes) -> 45 (binary, 2 bytes).
Declaration: BINARY(2)
Declaration: SQL_VARIANT
converted 47 (char, 25 bytes) -> 47 (char, 25 bytes).
Declaration: CHAR(25)
Declaration: SQL_VARIANT
converted 47 (char, 3 bytes) -> 48 (tinyint, 1 bytes).
Declaration: TINYINT
Declaration: SQL_VARIANT
converted 47 (char, 10 bytes) -> 49 (date, 4 bytes).
Declaration: DATE
converted 47 (char, 1 bytes) -> 50 (bit, 1 bytes).
Declaration: BIT
Declaration: SQL_VARIANT
converted 47 (char, 8 bytes) -> 51 (time, 4 bytes).
Declaration: TIME
converted 47 (char, 3 bytes) -> 52 (smallint, 2 bytes).
Declaration: SMALLINT
Declaration: SQL_VARIANT
converted 47 (char, 3 bytes) -> 56 (int, 4 bytes).
Declaration: INT
Declaration: SQL_VARIANT
converted 47 (char, 21 bytes) -> 58 (smalldatetime, 4 bytes).
Declaration: SMALLDATETIME
Declaration: SQL_VARIANT
converted 47 (char, 7 bytes) -> 59 (real, 4 bytes).
Declaration: REAL
Declaration: SQL_VARIANT
converted 47 (char, 7 bytes) -> 60 (money, 8 bytes).
Declaration: MONEY
Declaration: SQL_VARIANT
converted 47 (char, 21 bytes) -> 61 (datetime, 8 bytes).
Declaration: DATETIME
Declaration: SQL_VARIANT
converted 47 (char, 7 bytes) -> 62 (float, 8 bytes).
Declaration: FLOAT
Declaration: SQL_VARIANT
converted 47 (char, 3 bytes) -> 64 (unsigned tinyint, 1 bytes).
Declaration: TINYINT
converted 47 (char, 3 bytes) -> 65 (unsigned smallint, 2 bytes).
Declaration: UNSIGNED SMALLINT
converted 47 (char, 3 bytes) -> 66 (unsigned int, 4 bytes).
Declaration: UNSIGNED INT
converted 47 (char, 12 bytes) -> 67 (unsigned bigint, 8 bytes).
Declaration: UNSIGNED BIGINT
converted 47 (char, 3 bytes) -> 64 (unsigned tinyint, 1 bytes).
Declaration: TINYINT
converted 47 (char, 3 bytes) -> 64 (unsigned tinyint, 1 bytes).
Declaration: TINYINT
converted 47 (char, 3 bytes) -> 65 (unsigned smallint, 2 bytes).
Declaration: UNSIGNED SMALLINT
converted 47 (char, 3 bytes) -> 65 (unsigned smallint, 2 bytes).
Declaration: UNSIGNED SMALLINT
converted 47 (char, 3 bytes) -> 66 (unsigned int, 4 bytes).
Declaration: UNSIGNED INT
converted 47 (char, 3 bytes) -> 66 (unsigned int, 4 bytes).
Declaration: UNSIGNED INT
converted 47 (char, 12 bytes) -> 67 (unsigned bigint, 8 bytes).
Declaration: UNSIGNED BIGINT
converted 47 (char, 12 bytes) -> 67 (unsigned bigint, 8 bytes).
Declaration: UNSIGNED BIGINT
converted 47 (char, 1 bytes) -> 104 (bit-null, 1 bytes).
Declaration: BIT
Declaration: SQL_VARIANT
converted 47 (char, 9 bytes) -> 106 (decimal, 35 bytes).
Declaration: DECIMAL(8,2)
Declaration: SQL_VARIANT
converted 47 (char, 9 bytes) -> 108 (numeric, 35 bytes).
Declaration: NUMERIC(8,2)
Declaration: SQL_VARIANT
converted 47 (char, 7 bytes) -> 59 (real, 4 bytes).
Declaration: REAL
Declaration: SQL_VARIANT
converted 47 (char, 7 bytes) -> 59 (real, 4 bytes).
Declaration: REAL
Declaration: SQL_VARIANT
converted 47 (char, 7 bytes) -> 62 (float, 8 bytes).
Declaration: FLOAT
Declaration: SQL_VARIANT
converted 47 (char, 7 bytes) -> 62 (float, 8 bytes).
Declaration: FLOAT
Declaration: SQL_VARIANT
converted 47 (char, 7 bytes) -> 122 (smallmoney, 4 bytes).
Declaration: SMALLMONEY
Declaration: SQL_VARIANT
converted 47 (char, 7 bytes) -> 122 (smallmoney, 4 bytes).
Declaration: SMALLMONEY
Declaration: SQL_VARIANT
converted 47 (char, 7 bytes) -> 60 (money, 8 bytes).
Declaration: MONEY
Declaration: SQL_VARIANT
converted 47 (char, 7 bytes) -> 60 (money, 8 bytes).
Declaration: MONEY
Declaration: SQL_VARIANT
converted 47 (char, 21 bytes) -> 58 (smalldatetime, 4 bytes).
Declaration: SMALLDATETIME
Declaration: SQL_VARIANT
converted 47 (char, 21 bytes) -> 58 (smalldatetime, 4 bytes).
Declaration: SMALLDATETIME
Declaration: SQL_VARIANT
converted 47 (char, 21 bytes) -> 61 (datetime, 8 bytes).
Declaration: DATETIME
Declaration: SQL_VARIANT
converted 47 (char, 21 bytes) -> 61 (datetime, 8 bytes).
Declaration: DATETIME
Declaration: SQL_VARIANT
converted 47 (char, 7 bytes) -> 122 (smallmoney, 4 bytes).
Declaration: SMALLMONEY
Declaration: SQL_VARIANT
converted 47 (char, 10 bytes) -> 49 (date, 4 bytes).
Declaration: DATE
converted 47 (char, 10 bytes) -> 49 (date, 4 bytes).
Declaration: DATE
converted 47 (char, 12 bytes) -> 127 (bigint, 8 bytes).
Declaration: BIGINT
Declaration: SQL_VARIANT
converted 47 (char, 8 bytes) -> 51 (time, 4 bytes).
Declaration: TIME
converted 47 (char, 8 bytes) -> 51 (time, 4 bytes).
Declaration: TIME
converted 47 (char, 1 bytes) -> 165 (xvarbinary, 1 bytes).
Declaration: VARBINARY(1)
Declaration: SQL_VARIANT
converted 47 (char, 25 bytes) -> 167 (xvarchar, 25 bytes).
Declaration: VARCHAR(25)
Declaration: SQL_VARIANT
converted 47 (char, 1 bytes) -> 173 (xbinary, 1 bytes).
Declaration: BINARY(1)
Declaration: SQL_VARIANT
converted 47 (char, 25 bytes) -> 175 (xchar, 25 bytes).
Declaration: CHAR(25)
Declaration: SQL_VARIANT
converted 47 (char, 26 bytes) -> 187 (bigdatetime, 8 bytes).
Declaration: BIGDATETIME
converted 47 (char, 15 bytes) -> 188 (bigtime, 8 bytes).
Declaration: BIGTIME
converted 47 (char, 12 bytes) -> 127 (bigint, 8 bytes).
Declaration: BIGINT
Declaration: SQL_VARIANT
converted 47 (char, 12 bytes) -> 127 (bigint, 8 bytes).
Declaration: BIGINT
Declaration: SQL_VARIANT
converted 47 (char, 1 bytes) -> 225 (longbinary, 1 bytes).
Declaration: IMAGE
--16599-- REDIR: 0x55483d0 (libc.so.6:__strncmp_sse42) redirected to 0x4c35570 (__strncmp_sse42)
--16599-- REDIR: 0x5479200 (libc.so.6:__strcpy_sse2_unaligned) redirected to 0x4c34dd0 (strcpy)
==16599== 
==16599== HEAP SUMMARY:
==16599==     in use at exit: 0 bytes in 0 blocks
==16599==   total heap usage: 1,875 allocs, 1,875 frees, 158,936 bytes allocated
==16599== 
==16599== All heap blocks were freed -- no leaks are possible
==16599== 
==16599== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
==16599== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Main