Console Output

+ bash ./travisbuild.sh
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Commit id not set, attempting to determine id from git
-- Optimising for this machine (march=native)
-- Version: 7.1.3
-- Build type: Release
-- CXX_STANDARD: 17
-- Performing Test has_std_17_flag
-- Performing Test has_std_17_flag - Success
-- Performing Test has_std_1z_flag
-- Performing Test has_std_1z_flag - Success
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS - Success
-- Performing Test FMT_HAS_VARIANT
-- Performing Test FMT_HAS_VARIANT - Success
-- Required features: cxx_variadic_templates
-- Looking for strtod_l
-- Looking for strtod_l - not found
-- JsonCpp Version: 1.9.4
-- Looking for C++ include clocale
-- Looking for C++ include clocale - found
-- Looking for localeconv
-- Looking for localeconv - found
-- Looking for C++ include sys/types.h
-- Looking for C++ include sys/types.h - found
-- Looking for C++ include stdint.h
-- Looking for C++ include stdint.h - found
-- Looking for C++ include stddef.h
-- Looking for C++ include stddef.h - found
-- Check size of lconv
-- Check size of lconv - done
-- Performing Test HAVE_DECIMAL_POINT
-- Performing Test HAVE_DECIMAL_POINT - Success
-- Found Git: /usr/bin/git (found version "2.20.1") 
-- Performing Test check_c_compiler_flag__Wall
-- Performing Test check_c_compiler_flag__Wall - Success
-- Performing Test check_c_compiler_flag__Wextra
-- Performing Test check_c_compiler_flag__Wextra - Success
-- Performing Test check_c_compiler_flag__Wno_unused_parameter
-- Performing Test check_c_compiler_flag__Wno_unused_parameter - Success
-- Performing Test check_c_compiler_flag__Wstrict_aliasing
-- Performing Test check_c_compiler_flag__Wstrict_aliasing - Success
-- Performing Test check_c_compiler_flag__Wstrict_prototypes
-- Performing Test check_c_compiler_flag__Wstrict_prototypes - Success
-- Performing Test check_c_compiler_flag__fno_strict_aliasing
-- Performing Test check_c_compiler_flag__fno_strict_aliasing - Success
-- Performing Test check_c_compiler_flag__Wmissing_prototypes
-- Performing Test check_c_compiler_flag__Wmissing_prototypes - Success
-- Performing Test check_c_compiler_flag__Winit_self
-- Performing Test check_c_compiler_flag__Winit_self - Success
-- Performing Test check_c_compiler_flag__Wmissing_field_initializers
-- Performing Test check_c_compiler_flag__Wmissing_field_initializers - Success
-- Performing Test check_c_compiler_flag__Wdeclaration_after_statement
-- Performing Test check_c_compiler_flag__Wdeclaration_after_statement - Success
-- Performing Test check_c_compiler_flag__Waddress
-- Performing Test check_c_compiler_flag__Waddress - Success
-- Performing Test check_c_compiler_flag__Wnormalized_id
-- Performing Test check_c_compiler_flag__Wnormalized_id - Success
-- Performing Test check_c_compiler_flag__Woverride_init
-- Performing Test check_c_compiler_flag__Woverride_init - Success
-- Performing Test check_c_compiler_flag__Wlogical_op
-- Performing Test check_c_compiler_flag__Wlogical_op - Success
-- Performing Test check_c_compiler_flag__Wwrite_strings
-- Performing Test check_c_compiler_flag__Wwrite_strings - Success
-- Looking for __GNU_LIBRARY__
-- Looking for __GNU_LIBRARY__ - found
-- Looking for include file fcntl.h
-- Looking for include file fcntl.h - found
-- Looking for include files fcntl.h, inttypes.h
-- Looking for include files fcntl.h, inttypes.h - found
-- Looking for 3 include files fcntl.h, ..., memory.h
-- Looking for 3 include files fcntl.h, ..., memory.h - found
-- Looking for 4 include files fcntl.h, ..., signal.h
-- Looking for 4 include files fcntl.h, ..., signal.h - found
-- Looking for 5 include files fcntl.h, ..., stdarg.h
-- Looking for 5 include files fcntl.h, ..., stdarg.h - found
-- Looking for 6 include files fcntl.h, ..., stddef.h
-- Looking for 6 include files fcntl.h, ..., stddef.h - found
-- Looking for 7 include files fcntl.h, ..., stdint.h
-- Looking for 7 include files fcntl.h, ..., stdint.h - found
-- Looking for 8 include files fcntl.h, ..., stdlib.h
-- Looking for 8 include files fcntl.h, ..., stdlib.h - found
-- Looking for 9 include files fcntl.h, ..., string.h
-- Looking for 9 include files fcntl.h, ..., string.h - found
-- Looking for 10 include files fcntl.h, ..., errno.h
-- Looking for 10 include files fcntl.h, ..., errno.h - found
-- Looking for 11 include files fcntl.h, ..., unistd.h
-- Looking for 11 include files fcntl.h, ..., unistd.h - found
-- Looking for 12 include files fcntl.h, ..., time.h
-- Looking for 12 include files fcntl.h, ..., time.h - found
-- Looking for 13 include files fcntl.h, ..., sys/types.h
-- Looking for 13 include files fcntl.h, ..., sys/types.h - found
-- Looking for 14 include files fcntl.h, ..., sys/stat.h
-- Looking for 14 include files fcntl.h, ..., sys/stat.h - found
-- Looking for 15 include files fcntl.h, ..., sys/time.h
-- Looking for 15 include files fcntl.h, ..., sys/time.h - found
-- Looking for 16 include files fcntl.h, ..., sys/param.h
-- Looking for 16 include files fcntl.h, ..., sys/param.h - found
-- Looking for 17 include files fcntl.h, ..., netdb.h
-- Looking for 17 include files fcntl.h, ..., netdb.h - found
-- Looking for 18 include files fcntl.h, ..., dlfcn.h
-- Looking for 18 include files fcntl.h, ..., dlfcn.h - found
-- Looking for 19 include files fcntl.h, ..., arpa/inet.h
-- Looking for 19 include files fcntl.h, ..., arpa/inet.h - found
-- Looking for 20 include files fcntl.h, ..., poll.h
-- Looking for 20 include files fcntl.h, ..., poll.h - found
-- Looking for 21 include files fcntl.h, ..., port.h
-- Looking for 21 include files fcntl.h, ..., port.h - not found
-- Looking for 21 include files fcntl.h, ..., sys/socket.h
-- Looking for 21 include files fcntl.h, ..., sys/socket.h - found
-- Looking for 22 include files fcntl.h, ..., sys/random.h
-- Looking for 22 include files fcntl.h, ..., sys/random.h - found
-- Looking for 23 include files fcntl.h, ..., sys/un.h
-- Looking for 23 include files fcntl.h, ..., sys/un.h - found
-- Looking for 24 include files fcntl.h, ..., sys/devpoll.h
-- Looking for 24 include files fcntl.h, ..., sys/devpoll.h - not found
-- Looking for 24 include files fcntl.h, ..., sys/epoll.h
-- Looking for 24 include files fcntl.h, ..., sys/epoll.h - found
-- Looking for 25 include files fcntl.h, ..., sys/eventfd.h
-- Looking for 25 include files fcntl.h, ..., sys/eventfd.h - found
-- Looking for 26 include files fcntl.h, ..., sys/event.h
-- Looking for 26 include files fcntl.h, ..., sys/event.h - not found
-- Looking for 26 include files fcntl.h, ..., sys/ioctl.h
-- Looking for 26 include files fcntl.h, ..., sys/ioctl.h - found
-- Looking for 27 include files fcntl.h, ..., sys/mman.h
-- Looking for 27 include files fcntl.h, ..., sys/mman.h - found
-- Looking for 28 include files fcntl.h, ..., sys/queue.h
-- Looking for 28 include files fcntl.h, ..., sys/queue.h - found
-- Looking for 29 include files fcntl.h, ..., sys/select.h
-- Looking for 29 include files fcntl.h, ..., sys/select.h - found
-- Looking for 30 include files fcntl.h, ..., sys/sendfile.h
-- Looking for 30 include files fcntl.h, ..., sys/sendfile.h - found
-- Looking for 31 include files fcntl.h, ..., sys/uio.h
-- Looking for 31 include files fcntl.h, ..., sys/uio.h - found
-- Looking for 32 include files fcntl.h, ..., sys/wait.h
-- Looking for 32 include files fcntl.h, ..., sys/wait.h - found
-- Looking for 33 include files fcntl.h, ..., sys/resource.h
-- Looking for 33 include files fcntl.h, ..., sys/resource.h - found
-- Looking for 34 include files fcntl.h, ..., sys/timerfd.h
-- Looking for 34 include files fcntl.h, ..., sys/timerfd.h - found
-- Looking for 35 include files fcntl.h, ..., netinet/in.h
-- Looking for 35 include files fcntl.h, ..., netinet/in.h - found
-- Looking for 36 include files fcntl.h, ..., netinet/in6.h
-- Looking for 36 include files fcntl.h, ..., netinet/in6.h - not found
-- Looking for 36 include files fcntl.h, ..., netinet/tcp.h
-- Looking for 36 include files fcntl.h, ..., netinet/tcp.h - found
-- Looking for 37 include files fcntl.h, ..., ifaddrs.h
-- Looking for 37 include files fcntl.h, ..., ifaddrs.h - found
-- Looking for getaddrinfo
-- Looking for getaddrinfo - found
-- Looking for getnameinfo
-- Looking for getnameinfo - found
-- Looking for getprotobynumber
-- Looking for getprotobynumber - found
-- Looking for getservbyname
-- Looking for getservbyname - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for inet_ntop
-- Looking for inet_ntop - found
-- Looking for inet_pton
-- Looking for inet_pton - found
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for signal
-- Looking for signal - found
-- Looking for strtoll
-- Looking for strtoll - found
-- Looking for splice
-- Looking for splice - found
-- Looking for strlcpy
-- Looking for strlcpy - not found
-- Looking for strsep
-- Looking for strsep - found
-- Looking for strtok_r
-- Looking for strtok_r - found
-- Looking for vasprintf
-- Looking for vasprintf - found
-- Looking for timerclear
-- Looking for timerclear - found
-- Looking for timercmp
-- Looking for timercmp - found
-- Looking for timerisset
-- Looking for timerisset - found
-- Looking for timeradd
-- Looking for timeradd - found
-- Looking for nanosleep
-- Looking for nanosleep - found
-- Looking for putenv
-- Looking for putenv - found
-- Looking for umask
-- Looking for umask - found
-- Looking for clock_gettime
-- Looking for clock_gettime - found
-- Looking for getifaddrs
-- Looking for getifaddrs - found
-- Looking for select
-- Looking for select - found
-- Looking for epoll_create
-- Looking for epoll_create - found
-- Looking for epoll_create1
-- Looking for epoll_create1 - found
-- Looking for epoll_ctl
-- Looking for epoll_ctl - found
-- Looking for eventfd
-- Looking for eventfd - found
-- Looking for poll
-- Looking for poll - found
-- Looking for port_create
-- Looking for port_create - not found
-- Looking for kqueue
-- Looking for kqueue - not found
-- Looking for fcntl
-- Looking for fcntl - found
-- Looking for mmap
-- Looking for mmap - found
-- Looking for pipe
-- Looking for pipe - found
-- Looking for pipe2
-- Looking for pipe2 - found
-- Looking for sendfile
-- Looking for sendfile - found
-- Looking for sigaction
-- Looking for sigaction - found
-- Looking for strsignal
-- Looking for strsignal - found
-- Looking for sysctl
-- Looking for sysctl - not found
-- Looking for accept4
-- Looking for accept4 - found
-- Looking for arc4random
-- Looking for arc4random - not found
-- Looking for arc4random_buf
-- Looking for arc4random_buf - not found
-- Looking for arc4random_addrandom
-- Looking for arc4random_addrandom - not found
-- Looking for getrandom
-- Looking for getrandom - found
-- Looking for getegid
-- Looking for getegid - found
-- Looking for geteuid
-- Looking for geteuid - found
-- Looking for issetugid
-- Looking for issetugid - not found
-- Looking for usleep
-- Looking for usleep - found
-- Looking for timerfd_create
-- Looking for timerfd_create - found
-- Looking for setenv
-- Looking for setenv - found
-- Looking for unsetenv
-- Looking for unsetenv - found
-- Looking for setrlimit
-- Looking for setrlimit - found
-- Looking for gethostbyname_r
-- Looking for gethostbyname_r - found
-- Checking prototype gethostbyname_r for EVENT__HAVE_GETHOSTBYNAME_R_3_ARG - False
-- Checking prototype gethostbyname_r for EVENT__HAVE_GETHOSTBYNAME_R_5_ARG - False
-- Checking prototype gethostbyname_r for EVENT__HAVE_GETHOSTBYNAME_R_6_ARG - True
-- Check size of struct sockaddr_un
-- Check size of struct sockaddr_un - done
-- Check size of uint8_t
-- Check size of uint8_t - done
-- Check size of uint16_t
-- Check size of uint16_t - done
-- Check size of uint32_t
-- Check size of uint32_t - done
-- Check size of uint64_t
-- Check size of uint64_t - done
-- Check size of short
-- Check size of short - done
-- Check size of int
-- Check size of int - done
-- Check size of unsigned
-- Check size of unsigned - done
-- Check size of unsigned int
-- Check size of unsigned int - done
-- Check size of long
-- Check size of long - done
-- Check size of long long
-- Check size of long long - done
-- Performing Test HAVE_INLINE
-- Performing Test HAVE_INLINE - Success
-- Looking for __func__
-- Looking for __func__ - found
-- Looking for __FUNCTION__
-- Looking for __FUNCTION__ - found
-- Looking for TAILQ_FOREACH
-- Looking for TAILQ_FOREACH - found
-- Performing Test EVENT__HAVE_DECL_CTL_KERN
-- Performing Test EVENT__HAVE_DECL_CTL_KERN - Success
-- Looking for CTL_KERN - found
-- Performing Test EVENT__HAVE_DECL_KERN_ARND
-- Performing Test EVENT__HAVE_DECL_KERN_ARND - Failed
-- Looking for KERN_ARND - not found
-- Looking for F_SETFD
-- Looking for F_SETFD - found
-- Check size of fd_mask
-- Check size of fd_mask - done
-- Check size of size_t
-- Check size of size_t - done
-- Check size of off_t
-- Check size of off_t - done
-- Check size of ssize_t
-- Check size of ssize_t - done
-- Check size of SSIZE_T
-- Check size of SSIZE_T - failed
-- Check size of socklen_t
-- Check size of socklen_t - done
-- Check size of pid_t
-- Check size of pid_t - done
-- Check size of pthread_t
-- Check size of pthread_t - done
-- Check size of uintptr_t
-- Check size of uintptr_t - done
-- Check size of void *
-- Check size of void * - done
-- Check size of time_t
-- Check size of time_t - done
-- Check size of struct addrinfo
-- Check size of struct addrinfo - done
-- Check size of struct in6_addr
-- Check size of struct in6_addr - done
-- Performing Test EVENT__HAVE_STRUCT_IN6_ADDR_S6_ADDR16
-- Performing Test EVENT__HAVE_STRUCT_IN6_ADDR_S6_ADDR16 - Success
-- Performing Test EVENT__HAVE_STRUCT_IN6_ADDR_S6_ADDR32
-- Performing Test EVENT__HAVE_STRUCT_IN6_ADDR_S6_ADDR32 - Success
-- Check size of sa_family_t
-- Check size of sa_family_t - done
-- Check size of struct sockaddr_in6
-- Check size of struct sockaddr_in6 - done
-- Performing Test EVENT__HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN
-- Performing Test EVENT__HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN - Failed
-- Performing Test EVENT__HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
-- Performing Test EVENT__HAVE_STRUCT_SOCKADDR_IN_SIN_LEN - Failed
-- Check size of struct sockaddr_storage
-- Check size of struct sockaddr_storage - done
-- Performing Test EVENT__HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY
-- Performing Test EVENT__HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY - Success
-- Performing Test EVENT__HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY
-- Performing Test EVENT__HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY - Failed
-- Check size of struct linger
-- Check size of struct linger - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- 
--         ---( Libevent 2.1.12-stable )---
-- 
-- Available event backends: 
-- CMAKE_BINARY_DIR:         /home/bearbin/workspace/cuberite_PR-5151/gcc_Release
-- CMAKE_CURRENT_BINARY_DIR: /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/lib/libevent
-- CMAKE_SOURCE_DIR:         /home/bearbin/workspace/cuberite_PR-5151
-- CMAKE_CURRENT_SOURCE_DIR: /home/bearbin/workspace/cuberite_PR-5151/lib/libevent
-- PROJECT_BINARY_DIR:       /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/lib/libevent
-- PROJECT_SOURCE_DIR:       /home/bearbin/workspace/cuberite_PR-5151/lib/libevent
-- CMAKE_MODULE_PATH:        /home/bearbin/workspace/cuberite_PR-5151/lib/libevent/cmake/
-- CMAKE_COMMAND:            /usr/bin/cmake
-- CMAKE_ROOT:               /usr/share/cmake-3.13
-- CMAKE_SYSTEM:             Linux-5.4.0-74-generic
-- CMAKE_SYSTEM_NAME:        Linux
-- CMAKE_SYSTEM_VERSION:     5.4.0-74-generic
-- CMAKE_SYSTEM_PROCESSOR:   x86_64
-- CMAKE_SKIP_RPATH:         NO
-- CMAKE_VERBOSE_MAKEFILE:   FALSE
-- CMAKE_C_FLAGS:             -Wall -Wextra -Wno-unused-parameter -Wstrict-aliasing -Wstrict-prototypes -fno-strict-aliasing -Wmissing-prototypes -Winit-self -Wmissing-field-initializers -Wdeclaration-after-statement -Waddress -Wnormalized=id -Woverride-init -Wlogical-op -Wwrite-strings
-- CMAKE_BUILD_TYPE:         Release
-- CMAKE_C_COMPILER:         /usr/bin/gcc (id GNU, clang 0, GNUC 1)
-- CMAKE_AR:                 /usr/bin/ar
-- CMAKE_RANLIB:             /usr/bin/ranlib
-- 
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.7.3", minimum required is "3") 
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS - Success
-- Using c++ standard c++17
-- CMake version: 3.13.4
-- Project version: 3.1.1
-- CMAKE_CXX_COMPILER '/usr/bin/g++' 'GNU' '8.3.0'
-- CMAKE_CXX_FLAGS                ' -Wall -Wextra -Wpedantic -Wswitch-enum -Wshadow -Wno-long-long'
-- CMAKE_CXX_FLAGS_RELEASE        '-O3 -DNDEBUG'
-- Compile sqlite3 from source in subdirectory
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- SQLITECPP_RUN_CPPLINT OFF
-- SQLITECPP_RUN_CPPCHECK OFF
-- SQLITECPP_RUN_DOXYGEN OFF
-- SQLITECPP_BUILD_EXAMPLES OFF
-- SQLITECPP_BUILD_TESTS OFF
-- Creating output folder and symlinks...
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/../Server/Install; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/Install
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/../Server/Plugins; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/Plugins
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/../Server/Prefabs; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/Prefabs
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/../Server/Protocol; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/Protocol
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/../Server/webadmin; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/webadmin
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/../Server/brewing.txt; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/brewing.txt
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/../Server/crafting.txt; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/crafting.txt
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/../Server/favicon.png; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/favicon.png
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/../Server/furnace.txt; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/furnace.txt
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/../Server/items.ini; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/items.ini
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/../Server/monsters.ini; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/monsters.ini
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/../Server/README.txt; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/README.txt
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/../BACKERS; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/BACKERS
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/../CONTRIBUTORS; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/CONTRIBUTORS
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/../LICENSE; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/LICENSE
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/../Server/Install/ThirdPartyLicenses; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/ThirdPartyLicenses
-- Creating symlink, orig = /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/docs; link = /home/bearbin/workspace/cuberite_PR-5151/gcc_Release/Server/BindingsDocs
CMake Warning at CMakeLists.txt:68 (message):
  Precompiled headers for FASTER BUILDS not enabled, upgrade to CMake 3.16 or
  newer!


-- Building tools
-- Tests enabled
-- Configuring done
-- Generating done
-- Build files have been written to: /home/bearbin/workspace/cuberite_PR-5151/gcc_Release
Building...
Scanning dependencies of target expat
Scanning dependencies of target lualib
[  0%] Building C object lib/expat/CMakeFiles/expat.dir/xmlparse.c.o
Scanning dependencies of target fmt
[  0%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lapi.cpp.o
[  0%] Building CXX object lib/fmt/CMakeFiles/fmt.dir/src/format.cc.o
[  0%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lauxlib.cpp.o
[  0%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lbaselib.cpp.o
[  0%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lcode.cpp.o
[  0%] Building C object lib/expat/CMakeFiles/expat.dir/xmlrole.c.o
[  0%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/ldblib.cpp.o
[  0%] Building C object lib/expat/CMakeFiles/expat.dir/xmltok.c.o
[  0%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/ldebug.cpp.o
[  1%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/ldo.cpp.o
[  1%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/ldump.cpp.o
[  1%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lfunc.cpp.o
[  1%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lgc.cpp.o
[  1%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/linit.cpp.o
[  1%] Building C object lib/expat/CMakeFiles/expat.dir/xmltok_impl.c.o
[  1%] Building C object lib/expat/CMakeFiles/expat.dir/xmltok_ns.c.o
[  1%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/liolib.cpp.o
[  2%] Linking C static library libexpat.a
[  2%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/llex.cpp.o
[  2%] Built target expat
Scanning dependencies of target jsoncpp_static
[  2%] Building CXX object lib/jsoncpp/src/lib_json/CMakeFiles/jsoncpp_static.dir/json_reader.cpp.o
[  2%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lmathlib.cpp.o
[  3%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lmem.cpp.o
[  3%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/loadlib.cpp.o
[  3%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lobject.cpp.o
[  3%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lopcodes.cpp.o
[  3%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/loslib.cpp.o
[  3%] Building CXX object lib/fmt/CMakeFiles/fmt.dir/src/os.cc.o
[  3%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lparser.cpp.o
[  3%] Linking CXX static library libfmt.a
[  3%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lstate.cpp.o
[  3%] Built target fmt
Scanning dependencies of target libdeflate
[  3%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lstring.cpp.o
[  4%] Building C object lib/libdeflate/CMakeFiles/libdeflate.dir/lib/adler32.c.o
[  4%] Building C object lib/libdeflate/CMakeFiles/libdeflate.dir/lib/arm/cpu_features.c.o
[  5%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lstrlib.cpp.o
[  5%] Building C object lib/libdeflate/CMakeFiles/libdeflate.dir/lib/crc32.c.o
[  5%] Building C object lib/libdeflate/CMakeFiles/libdeflate.dir/lib/deflate_compress.c.o
[  5%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/ltable.cpp.o
[  5%] Building CXX object lib/jsoncpp/src/lib_json/CMakeFiles/jsoncpp_static.dir/json_value.cpp.o
[  5%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/ltablib.cpp.o
[  5%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/ltm.cpp.o
[  5%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lundump.cpp.o
[  5%] Building C object lib/libdeflate/CMakeFiles/libdeflate.dir/lib/deflate_decompress.c.o
[  5%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lvm.cpp.o
[  5%] Building C object lib/libdeflate/CMakeFiles/libdeflate.dir/lib/gzip_compress.c.o
[  5%] Building C object lib/libdeflate/CMakeFiles/libdeflate.dir/lib/gzip_decompress.c.o
[  5%] Building C object lib/libdeflate/CMakeFiles/libdeflate.dir/lib/utils.c.o
[  6%] Building C object lib/libdeflate/CMakeFiles/libdeflate.dir/lib/x86/cpu_features.c.o
[  6%] Building C object lib/libdeflate/CMakeFiles/libdeflate.dir/lib/zlib_compress.c.o
[  6%] Building C object lib/libdeflate/CMakeFiles/libdeflate.dir/lib/zlib_decompress.c.o
[  6%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/lzio.cpp.o
[  6%] Linking C static library ../liblibdeflate.a
[  6%] Built target libdeflate
Scanning dependencies of target event_core_static
[  6%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/buffer.c.o
[  6%] Building CXX object lib/lua/CMakeFiles/lualib.dir/src/print.cpp.o
[  7%] Linking CXX static library ../liblualib.a
[  7%] Built target lualib
Scanning dependencies of target luaexpat
[  8%] Building C object lib/luaexpat/CMakeFiles/luaexpat.dir/lxplib.c.o
[  8%] Building CXX object lib/jsoncpp/src/lib_json/CMakeFiles/jsoncpp_static.dir/json_writer.cpp.o
[  8%] Linking C static library ../libluaexpat.a
[  8%] Built target luaexpat
Scanning dependencies of target mbedcrypto
[  8%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/aes.c.o
[  8%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/bufferevent.c.o
[  8%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/aesni.c.o
[  8%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/arc4.c.o
[  8%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/bufferevent_filter.c.o
[  8%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/aria.c.o
[  8%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/asn1parse.c.o
[  8%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/asn1write.c.o
[  8%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/bufferevent_pair.c.o
[  8%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/base64.c.o
[  8%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/bignum.c.o
[  8%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/bufferevent_ratelim.c.o
[  8%] Linking CXX static library ../../../libjsoncpp.a
[  8%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/bufferevent_sock.c.o
[  8%] Built target jsoncpp_static
Scanning dependencies of target sqlite3
[  8%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/event.c.o
[  8%] Building C object lib/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/sqlite3.c.o
[  9%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/blowfish.c.o
[  9%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/camellia.c.o
[  9%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/ccm.c.o
[  9%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/chacha20.c.o
[  9%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/chachapoly.c.o
[  9%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/cipher.c.o
[ 10%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/evmap.c.o
[ 10%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/cipher_wrap.c.o
[ 10%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/evthread.c.o
[ 10%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/cmac.c.o
[ 11%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/ctr_drbg.c.o
[ 11%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/evutil.c.o
[ 11%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/des.c.o
[ 11%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/dhm.c.o
[ 11%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/evutil_rand.c.o
[ 11%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/ecdh.c.o
[ 11%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/ecdsa.c.o
[ 11%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/evutil_time.c.o
[ 11%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/listener.c.o
[ 11%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/ecjpake.c.o
[ 11%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/log.c.o
[ 11%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/ecp.c.o
[ 11%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/signal.c.o
[ 12%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/strlcpy.c.o
[ 12%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/select.c.o
[ 12%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/poll.c.o
[ 12%] Building C object lib/libevent/CMakeFiles/event_core_static.dir/epoll.c.o
[ 12%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/ecp_curves.c.o
[ 12%] Linking C static library ../libevent_core.a
[ 12%] Built target event_core_static
Scanning dependencies of target GrownBiomeGenVisualiser
[ 12%] Building CXX object Tools/GrownBiomeGenVisualiser/CMakeFiles/GrownBiomeGenVisualiser.dir/GrownBiomeGenVisualiser.cpp.o
[ 13%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/entropy.c.o
[ 13%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/entropy_poll.c.o
[ 13%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/error.c.o
[ 13%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/gcm.c.o
[ 13%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/havege.c.o
[ 13%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/hkdf.c.o
[ 13%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/hmac_drbg.c.o
[ 13%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/md.c.o
[ 14%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/md2.c.o
[ 14%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/md4.c.o
[ 14%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/md5.c.o
[ 14%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/memory_buffer_alloc.c.o
[ 14%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/nist_kw.c.o
[ 14%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/oid.c.o
[ 14%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/padlock.c.o
[ 14%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/pem.c.o
[ 15%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/pk.c.o
[ 15%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/pk_wrap.c.o
[ 15%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/pkcs12.c.o
[ 15%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/pkcs5.c.o
[ 15%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/pkparse.c.o
[ 15%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/pkwrite.c.o
[ 15%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/platform.c.o
[ 15%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/platform_util.c.o
[ 16%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/poly1305.c.o
[ 16%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/psa_crypto.c.o
[ 16%] Building CXX object Tools/GrownBiomeGenVisualiser/CMakeFiles/GrownBiomeGenVisualiser.dir/Globals.cpp.o
[ 16%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/psa_crypto_driver_wrappers.c.o
[ 16%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/psa_crypto_se.c.o
[ 16%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/psa_crypto_slot_management.c.o
[ 16%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/psa_crypto_storage.c.o
[ 16%] Building CXX object Tools/GrownBiomeGenVisualiser/CMakeFiles/GrownBiomeGenVisualiser.dir/__/__/src/StringUtils.cpp.o
[ 16%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/psa_its_file.c.o
[ 16%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/ripemd160.c.o
[ 17%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/rsa.c.o
[ 17%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/rsa_internal.c.o
[ 17%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/sha1.c.o
[ 17%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/sha256.c.o
[ 17%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/sha512.c.o
[ 17%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/threading.c.o
[ 17%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/timing.c.o
[ 17%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/version.c.o
[ 18%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/version_features.c.o
[ 18%] Building C object lib/mbedtls/library/CMakeFiles/mbedcrypto.dir/xtea.c.o
[ 18%] Linking C static library ../../libmbedcrypto.a
[ 18%] Built target mbedcrypto
Scanning dependencies of target MCADefrag
[ 18%] Building CXX object Tools/MCADefrag/CMakeFiles/MCADefrag.dir/MCADefrag.cpp.o
[ 18%] Building CXX object Tools/GrownBiomeGenVisualiser/CMakeFiles/GrownBiomeGenVisualiser.dir/__/__/src/Logger.cpp.o
[ 18%] Building CXX object Tools/MCADefrag/CMakeFiles/MCADefrag.dir/__/__/src/StringCompression.cpp.o
[ 19%] Building CXX object Tools/MCADefrag/CMakeFiles/MCADefrag.dir/__/__/src/StringUtils.cpp.o
[ 19%] Building CXX object Tools/GrownBiomeGenVisualiser/CMakeFiles/GrownBiomeGenVisualiser.dir/__/__/src/Noise/Noise.cpp.o
[ 19%] Building CXX object Tools/MCADefrag/CMakeFiles/MCADefrag.dir/__/__/src/LoggerListeners.cpp.o
[ 19%] Building CXX object Tools/GrownBiomeGenVisualiser/CMakeFiles/GrownBiomeGenVisualiser.dir/__/__/src/BiomeDef.cpp.o
[ 19%] Building CXX object Tools/MCADefrag/CMakeFiles/MCADefrag.dir/__/__/src/Logger.cpp.o
[ 20%] Building CXX object Tools/GrownBiomeGenVisualiser/CMakeFiles/GrownBiomeGenVisualiser.dir/__/__/src/OSSupport/CriticalSection.cpp.o
[ 20%] Building CXX object Tools/GrownBiomeGenVisualiser/CMakeFiles/GrownBiomeGenVisualiser.dir/__/__/src/OSSupport/Event.cpp.o
[ 20%] Building CXX object Tools/GrownBiomeGenVisualiser/CMakeFiles/GrownBiomeGenVisualiser.dir/__/__/src/OSSupport/File.cpp.o
[ 20%] Building CXX object Tools/MCADefrag/CMakeFiles/MCADefrag.dir/__/__/src/OSSupport/CriticalSection.cpp.o
[ 20%] Building CXX object Tools/MCADefrag/CMakeFiles/MCADefrag.dir/__/__/src/OSSupport/Event.cpp.o
[ 20%] Building CXX object Tools/MCADefrag/CMakeFiles/MCADefrag.dir/__/__/src/OSSupport/File.cpp.o
[ 20%] Building CXX object Tools/GrownBiomeGenVisualiser/CMakeFiles/GrownBiomeGenVisualiser.dir/__/__/src/OSSupport/IsThread.cpp.o
[ 20%] Building CXX object Tools/GrownBiomeGenVisualiser/CMakeFiles/GrownBiomeGenVisualiser.dir/__/__/src/OSSupport/StackTrace.cpp.o
[ 20%] Building CXX object Tools/GrownBiomeGenVisualiser/CMakeFiles/GrownBiomeGenVisualiser.dir/__/__/src/OSSupport/WinStackWalker.cpp.o
[ 20%] Building CXX object Tools/MCADefrag/CMakeFiles/MCADefrag.dir/__/__/src/OSSupport/IsThread.cpp.o
[ 20%] Building CXX object Tools/MCADefrag/CMakeFiles/MCADefrag.dir/__/__/src/OSSupport/StackTrace.cpp.o
[ 20%] Linking CXX executable ../../bin/GrownBiomeGenVisualiser
[ 20%] Built target GrownBiomeGenVisualiser
Scanning dependencies of target NoiseSpeedTest
[ 21%] Building CXX object Tools/NoiseSpeedTest/CMakeFiles/NoiseSpeedTest.dir/NoiseSpeedTest.cpp.o
[ 22%] Building CXX object Tools/MCADefrag/CMakeFiles/MCADefrag.dir/__/__/src/OSSupport/WinStackWalker.cpp.o
[ 22%] Linking C static library ../../libsqlite3.a
[ 22%] Built target sqlite3
Scanning dependencies of target BlockTypePaletteTest
[ 22%] Building CXX object tests/BlockTypeRegistry/CMakeFiles/BlockTypePaletteTest.dir/BlockTypePaletteTest.cpp.o
[ 22%] Building CXX object Tools/NoiseSpeedTest/CMakeFiles/NoiseSpeedTest.dir/__/__/src/Logger.cpp.o
[ 22%] Linking CXX executable ../../bin/MCADefrag
[ 22%] Built target MCADefrag
Scanning dependencies of target BlockStateTest
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockTypePalette.h:4,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:3:
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.h:19:7: error: redefinition of 'class BlockState'
 class BlockState
       ^~~~~~~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: previous definition of 'class BlockState'
 struct BlockState
        ^~~~~~~~~~
[ 22%] Building CXX object tests/BlockTypeRegistry/CMakeFiles/BlockStateTest.dir/BlockStateTest.cpp.o
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp: In function 'void testBasic()':
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:29:33: error: no matching function for call to 'BlockState::BlockState(const char [5], const char [7])'
  BlockState bs2("key1", "value1");
                                 ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:30:57: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
  BlockState bs3({{"key1", "value1"}, {"key2", "value2"}});
                                                         ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp: In function 'void testTransformAddMissing()':
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:62:58: error: no matching function for call to 'BlockState::BlockState(const char [5], const char [7])'
  /* 4 */ pal1.index("block5", BlockState("key1", "value1"));
                                                          ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:66:58: error: no matching function for call to 'BlockState::BlockState(const char [5], const char [7])'
  /* 3 */ pal2.index("block4", BlockState("key1", "value1"));
                                                          ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:67:58: error: no matching function for call to 'BlockState::BlockState(const char [5], const char [7])'
  /* 4 */ pal2.index("block5", BlockState("key1", "value1"));  // overlap
                                                          ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:68:58: error: no matching function for call to 'BlockState::BlockState(const char [5], const char [7])'
  /* 5 */ pal2.index("block6", BlockState("key1", "value1"));
                                                          ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:76:66: error: no matching function for call to 'BlockState::BlockState(const char [5], const char [7])'
  TEST_EQUAL(pal1.maybeIndex("block5", BlockState("key1", "value1")), (std::make_pair<UInt32, bool>(4, true)));
                                                                  ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:78:66: error: no matching function for call to 'BlockState::BlockState(const char [5], const char [7])'
  TEST_EQUAL(pal1.maybeIndex("block4", BlockState("key1", "value1")), (std::make_pair<UInt32, bool>(6, true)));
                                                                  ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:79:66: error: no matching function for call to 'BlockState::BlockState(const char [5], const char [7])'
  TEST_EQUAL(pal1.maybeIndex("block6", BlockState("key1", "value1")), (std::make_pair<UInt32, bool>(7, true)));
                                                                  ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp: In function 'void testTransformWithFallback()':
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:104:58: error: no matching function for call to 'BlockState::BlockState(const char [5], const char [7])'
  /* 4 */ pal1.index("block5", BlockState("key1", "value1"));
                                                          ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:108:58: error: no matching function for call to 'BlockState::BlockState(const char [5], const char [7])'
  /* 3 */ pal2.index("block4", BlockState("key1", "value1"));
                                                          ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:109:58: error: no matching function for call to 'BlockState::BlockState(const char [5], const char [7])'
  /* 4 */ pal2.index("block5", BlockState("key1", "value1"));  // overlap
                                                          ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:110:58: error: no matching function for call to 'BlockState::BlockState(const char [5], const char [7])'
  /* 5 */ pal2.index("block6", BlockState("key1", "value1"));
                                                          ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp: In function 'void testLoadJsonSimple()':
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:165:76: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
  TEST_EQUAL(palette.maybeIndex("minecraft:air", BlockState({{"foo", "baz"}})).second, false);
                                                                            ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp: In function 'void testLoadJsonComplex()':
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:213:74: error: no matching function for call to 'BlockTypePalette::maybeIndex(const char [22], <brace-enclosed initializer list>)'
  TEST_EQUAL(palette.maybeIndex("minecraft:oak_sapling", {{"stage", "10"}}).second, false);
                                                                          ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:3:
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockTypePalette.h:78:26: note: candidate: 'std::pair<unsigned int, bool> BlockTypePalette::maybeIndex(const AString&, const BlockState&) const'
  std::pair<UInt32, bool> maybeIndex(const AString & aBlockTypeName, const BlockState & aBlockState) const;
                          ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockTypePalette.h:78:26: note:   no known conversion for argument 2 from '<brace-enclosed initializer list>' to 'const BlockState&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:214:73: error: no matching function for call to 'BlockTypePalette::maybeIndex(const char [22], <brace-enclosed initializer list>)'
  TEST_EQUAL(palette.maybeIndex("minecraft:oak_sapling", {{"stage", "0"}}), (std::make_pair<UInt32, bool>(21, true)));
                                                                         ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:3:
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockTypePalette.h:78:26: note: candidate: 'std::pair<unsigned int, bool> BlockTypePalette::maybeIndex(const AString&, const BlockState&) const'
  std::pair<UInt32, bool> maybeIndex(const AString & aBlockTypeName, const BlockState & aBlockState) const;
                          ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockTypePalette.h:78:26: note:   no known conversion for argument 2 from '<brace-enclosed initializer list>' to 'const BlockState&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:215:73: error: no matching function for call to 'BlockTypePalette::maybeIndex(const char [22], <brace-enclosed initializer list>)'
  TEST_EQUAL(palette.maybeIndex("minecraft:oak_sapling", {{"stage", "1"}}), (std::make_pair<UInt32, bool>(23, true)));
                                                                         ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:3:
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockTypePalette.h:78:26: note: candidate: 'std::pair<unsigned int, bool> BlockTypePalette::maybeIndex(const AString&, const BlockState&) const'
  std::pair<UInt32, bool> maybeIndex(const AString & aBlockTypeName, const BlockState & aBlockState) const;
                          ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockTypePalette.h:78:26: note:   no known conversion for argument 2 from '<brace-enclosed initializer list>' to 'const BlockState&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:216:73: error: no matching function for call to 'BlockTypePalette::maybeIndex(const char [22], <brace-enclosed initializer list>)'
  TEST_EQUAL(palette.maybeIndex("minecraft:oak_sapling", {{"foo", "baz"}}).second, false);
                                                                         ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:3:
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockTypePalette.h:78:26: note: candidate: 'std::pair<unsigned int, bool> BlockTypePalette::maybeIndex(const AString&, const BlockState&) const'
  std::pair<UInt32, bool> maybeIndex(const AString & aBlockTypeName, const BlockState & aBlockState) const;
                          ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockTypePalette.h:78:26: note:   no known conversion for argument 2 from '<brace-enclosed initializer list>' to 'const BlockState&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:217:73: error: no matching function for call to 'BlockTypePalette::maybeIndex(const char [18], <brace-enclosed initializer list>)'
  TEST_EQUAL(palette.maybeIndex("minecraft:oak_sap",     {{"stage", "0"}}).second, false);
                                                                         ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:3:
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockTypePalette.h:78:26: note: candidate: 'std::pair<unsigned int, bool> BlockTypePalette::maybeIndex(const AString&, const BlockState&) const'
  std::pair<UInt32, bool> maybeIndex(const AString & aBlockTypeName, const BlockState & aBlockState) const;
                          ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockTypePalette.h:78:26: note:   no known conversion for argument 2 from '<brace-enclosed initializer list>' to 'const BlockState&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp: In function 'void testLoadTsvRegular()':
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:242:85: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
  TEST_EQUAL(palette.maybeIndex("minecraft:grass", BlockState({{"snow_covered", "0"}})), (std::make_pair<UInt32, bool>(2, true)));
                                                                                     ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:243:85: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
  TEST_EQUAL(palette.maybeIndex("minecraft:grass", BlockState({{"snow_covered", "1"}})), (std::make_pair<UInt32, bool>(3, true)));
                                                                                     ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:244:85: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
  TEST_EQUAL(palette.maybeIndex("minecraft:air",   BlockState({{"snow_covered", "0"}})).second, false);
                                                                                     ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:245:85: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
  TEST_EQUAL(palette.maybeIndex("minecraft:grass", BlockState({{"snow_covered", "2"}})).second, false);
                                                                                     ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp: In function 'void testLoadTsvUpgrade()':
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:271:85: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
  TEST_EQUAL(palette.maybeIndex("minecraft:grass", BlockState({{"snow_covered", "0"}})), (std::make_pair<UInt32, bool>(32, true)));
                                                                                     ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:272:85: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
  TEST_EQUAL(palette.maybeIndex("minecraft:grass", BlockState({{"snow_covered", "1"}})), (std::make_pair<UInt32, bool>(33, true)));
                                                                                     ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:273:85: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
  TEST_EQUAL(palette.maybeIndex("minecraft:air",   BlockState({{"snow_covered", "0"}})).second, false);
                                                                                     ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:274:85: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
  TEST_EQUAL(palette.maybeIndex("minecraft:grass", BlockState({{"snow_covered", "2"}})).second, false);
                                                                                     ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp: In function 'void testLoadFromBaseFile()':
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:298:59: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
    BlockState({{"persistent", "false"}, {"distance", "6"}})
                                                           ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:305:40: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
    BlockState({{"persistent", "false"}})
                                        ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp: In function 'void testLoadFromUpgradeFile()':
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:327:119: error: no matching function for call to 'make_pair<AString, BlockState>(const char [21], <brace-enclosed initializer list>)'
  TEST_EQUAL(palette.entry(44 * 16 + 8), (std::make_pair<AString, BlockState>("minecraft:stone_slab", {{"type", "top"}})));
                                                                                                                       ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:15: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
               ^~~~
In file included from /usr/include/c++/8/bits/stl_algobase.h:64,
                 from /usr/include/c++/8/bits/specfun.h:45,
                 from /usr/include/c++/8/cmath:1892,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:112,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:1:
/usr/include/c++/8/bits/stl_pair.h:524:5: note: candidate: 'template<class _T1, class _T2> constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)'
     make_pair(_T1&& __x, _T2&& __y)
     ^~~~~~~~~
/usr/include/c++/8/bits/stl_pair.h:524:5: note:   template argument deduction/substitution failed:
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockTypePaletteTest.cpp:327:119: note:   cannot convert '{{"type", "top"}}' (type '<brace-enclosed initializer list>') to type 'BlockState&&'
  TEST_EQUAL(palette.entry(44 * 16 + 8), (std::make_pair<AString, BlockState>("minecraft:stone_slab", {{"type", "top"}})));
                                                                                                                       ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:15: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
               ^~~~
make[2]: *** [tests/BlockTypeRegistry/CMakeFiles/BlockTypePaletteTest.dir/build.make:63: tests/BlockTypeRegistry/CMakeFiles/BlockTypePaletteTest.dir/BlockTypePaletteTest.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1867: tests/BlockTypeRegistry/CMakeFiles/BlockTypePaletteTest.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 22%] Building CXX object tests/BlockTypeRegistry/CMakeFiles/BlockStateTest.dir/__/__/src/Bindings/BlockState.cpp.o
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.h:19:7: error: redefinition of 'class BlockState'
 class BlockState
       ^~~~~~~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: previous definition of 'class BlockState'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp: In function 'void testStaticCreation()':
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:15:38: error: no matching function for call to 'BlockState::BlockState(const char [9], const char [6])'
  BlockState bs2v1("property", "value");
                                      ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:16:69: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
  BlockState bs3v1({{"property1", "value1"}, {"property2", "value2"}});
                                                                     ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:20:56: error: no matching function for call to 'BlockState::BlockState(BlockState&, <brace-enclosed initializer list>)'
  BlockState bs1v3(bs1v2, {{"added property", "value1"}});
                                                        ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:21:56: error: no matching function for call to 'BlockState::BlockState(BlockState&, <brace-enclosed initializer list>)'
  BlockState bs2v3(bs2v2, {{"added property", "value2"}});
                                                        ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:22:56: error: no matching function for call to 'BlockState::BlockState(BlockState&, <brace-enclosed initializer list>)'
  BlockState bs3v3(bs3v2, {{"added property", "value3"}});
                                                        ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:3:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:36:19: error: 'class BlockState' has no member named 'value'
  TEST_EQUAL(bs1v1.value("property"), "");
                   ^~~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:37:19: error: 'class BlockState' has no member named 'value'
  TEST_EQUAL(bs2v1.value("property"), "value");
                   ^~~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:38:19: error: 'class BlockState' has no member named 'value'
  TEST_EQUAL(bs2v1.value("property1"), "");
                   ^~~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:39:19: error: 'class BlockState' has no member named 'value'
  TEST_EQUAL(bs3v1.value("property1"), "value1");
                   ^~~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:40:19: error: 'class BlockState' has no member named 'value'
  TEST_EQUAL(bs3v1.value("property2"), "value2");
                   ^~~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:41:19: error: 'class BlockState' has no member named 'value'
  TEST_EQUAL(bs1v3.value("added property"), "value1");
                   ^~~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:42:19: error: 'class BlockState' has no member named 'value'
  TEST_EQUAL(bs2v3.value("added property"), "value2");
                   ^~~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:43:19: error: 'class BlockState' has no member named 'value'
  TEST_EQUAL(bs3v3.value("added property"), "value3");
                   ^~~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp: In function 'void testDynamicCreation()':
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:59:42: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
   BlockState bs1a({{"property", "value"}});
                                          ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:61:23: error: no matching function for call to 'BlockState::BlockState(Map&)'
   BlockState bs1b(map1);
                       ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from 'Map' {aka 'std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >'} to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from 'Map' {aka 'std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >'} to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from 'Map' {aka 'std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >'} to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from 'Map' {aka 'std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >'} to 'BlockState&&'
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:69:42: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
   BlockState bs2a({{"property", "value"}});
                                          ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:71:34: error: no matching function for call to 'BlockState::BlockState(std::remove_reference<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&>::type)'
   BlockState bs2b(std::move(map2));
                                  ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from 'std::remove_reference<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&>::type' {aka 'std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >'} to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from 'std::remove_reference<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&>::type' {aka 'std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >'} to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from 'std::remove_reference<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&>::type' {aka 'std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >'} to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from 'std::remove_reference<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&>::type' {aka 'std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >'} to 'BlockState&&'
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:77:41: error: no matching function for call to 'BlockState::BlockState(const char [10], const char [7])'
   BlockState bsSrc("property1", "value1");
                                         ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:78:51: error: no matching function for call to 'BlockState::BlockState(BlockState&, <brace-enclosed initializer list>)'
   BlockState bs3a(bsSrc, {{"property2", "value2"}});
                                                   ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:80:30: error: no matching function for call to 'BlockState::BlockState(BlockState&, Map&)'
   BlockState bs3b(bsSrc, map3);
                              ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp: In function 'void testReplacing()':
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:97:40: error: no matching function for call to 'BlockState::BlockState(const char [10], const char [9])'
  BlockState bs1("property1", "value1v1");
                                        ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:98:49: error: no matching function for call to 'BlockState::BlockState(BlockState&, <brace-enclosed initializer list>)'
  BlockState bs2(bs1, {{"property1", "value1v2"}});
                                                 ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:3:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:99:17: error: 'class BlockState' has no member named 'value'
  TEST_EQUAL(bs2.value("property1"), "value1v2");  // Stored the new one
                 ^~~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:100:17: error: 'class BlockState' has no member named 'value'
  TEST_EQUAL(bs1.value("property1"), "value1v1");  // Didn't replace in the original
                 ^~~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:103:41: error: no matching function for call to 'BlockState::BlockState(BlockState&, <brace-enclosed initializer list>)'
  BlockState bs3(bs1, {{"property1", ""}});
                                         ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   candidate expects 1 argument, 2 provided
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:3:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp: In function 'void testComparison()':
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:118:37: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
  TEST_FALSE((BlockState({{"a", "a"}}) < BlockState({{"a", "a"}})));
                                     ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:118:2: note: in expansion of macro 'TEST_FALSE'
  TEST_FALSE((BlockState({{"a", "a"}}) < BlockState({{"a", "a"}})));
  ^~~~~~~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:3:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:118:64: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
  TEST_FALSE((BlockState({{"a", "a"}}) < BlockState({{"a", "a"}})));
                                                                ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:118:2: note: in expansion of macro 'TEST_FALSE'
  TEST_FALSE((BlockState({{"a", "a"}}) < BlockState({{"a", "a"}})));
  ^~~~~~~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:3:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:119:27: error: no match for 'operator<' (operand types are 'BlockState' and 'BlockState')
  TEST_FALSE((BlockState() < BlockState()));
              ~~~~~~~~~~~~~^~~~~~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:119:2: note: in expansion of macro 'TEST_FALSE'
  TEST_FALSE((BlockState() < BlockState()));
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:120:55: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
  TEST_TRUE((BlockState() < BlockState({{"foo", "bar"}})));
                                                       ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:120:2: note: in expansion of macro 'TEST_TRUE'
  TEST_TRUE((BlockState() < BlockState({{"foo", "bar"}})));
  ^~~~~~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
In file included from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:3:
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:121:41: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
  TEST_FALSE((BlockState({{"foo", "bar"}}) < BlockState()));
                                         ^
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/../TestHelpers.h:49:7: note: in definition of macro 'TEST_EQUAL'
   if (VAL1 != VAL2) \
       ^~~~
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:121:2: note: in expansion of macro 'TEST_FALSE'
  TEST_FALSE((BlockState({{"foo", "bar"}}) < BlockState()));
  ^~~~~~~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp: In function 'void testComparison2()':
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:139:107: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
   v.push_back(BlockState({{std::string(1, static_cast<char>(0x1F)), std::string(1, static_cast<char>(i))}}));
                                                                                                           ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:141:87: error: no matching function for call to 'BlockState::BlockState(<brace-enclosed initializer list>)'
    {std::string(1, static_cast<char>(0x0F)), std::string(1, static_cast<char>(0x80))}}));
                                                                                       ^
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note: candidate: 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockType'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note: candidate: 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'uint_least16_t' {aka 'short unsigned int'}
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: candidate: 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:   candidate expects 0 arguments, 1 provided
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(const BlockState&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const BlockState&'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidate: 'constexpr BlockState::BlockState(BlockState&&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'BlockState&&'
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h: In instantiation of 'constexpr bool std::less<_Tp>::operator()(const _Tp&, const _Tp&) const [with _Tp = BlockState]':
/usr/include/c++/8/bits/stl_map.h:497:32:   required from 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = BlockState; _Tp = bool; _Compare = std::less<BlockState>; _Alloc = std::allocator<std::pair<const BlockState, bool> >; std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type = bool; std::map<_Key, _Tp, _Compare, _Alloc>::key_type = BlockState]'
/home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:146:12:   required from here
/usr/include/c++/8/bits/stl_function.h:386:20: error: no match for 'operator<' (operand types are 'const BlockState' and 'const BlockState')
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/stl_algobase.h:64,
                 from /usr/include/c++/8/bits/specfun.h:45,
                 from /usr/include/c++/8/cmath:1892,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:112,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_pair.h:454:5: note: candidate: 'template<class _T1, class _T2> constexpr bool std::operator<(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)'
     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
     ^~~~~~~~
/usr/include/c++/8/bits/stl_pair.h:454:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::pair<_T1, _T2>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/stl_algobase.h:67,
                 from /usr/include/c++/8/bits/specfun.h:45,
                 from /usr/include/c++/8/cmath:1892,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:112,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_iterator.h:308:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator<(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)'
     operator<(const reverse_iterator<_Iterator>& __x,
     ^~~~~~~~
/usr/include/c++/8/bits/stl_iterator.h:308:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::reverse_iterator<_Iterator>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/stl_algobase.h:67,
                 from /usr/include/c++/8/bits/specfun.h:45,
                 from /usr/include/c++/8/cmath:1892,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:112,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_iterator.h:346:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator<(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)'
     operator<(const reverse_iterator<_IteratorL>& __x,
     ^~~~~~~~
/usr/include/c++/8/bits/stl_iterator.h:346:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::reverse_iterator<_Iterator>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/stl_algobase.h:67,
                 from /usr/include/c++/8/bits/specfun.h:45,
                 from /usr/include/c++/8/cmath:1892,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:112,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_iterator.h:1139:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator<(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)'
     operator<(const move_iterator<_IteratorL>& __x,
     ^~~~~~~~
/usr/include/c++/8/bits/stl_iterator.h:1139:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::move_iterator<_IteratorL>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/stl_algobase.h:67,
                 from /usr/include/c++/8/bits/specfun.h:45,
                 from /usr/include/c++/8/cmath:1892,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:112,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_iterator.h:1145:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator<(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)'
     operator<(const move_iterator<_Iterator>& __x,
     ^~~~~~~~
/usr/include/c++/8/bits/stl_iterator.h:1145:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::move_iterator<_IteratorL>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/basic_string.h:48,
                 from /usr/include/c++/8/string:52,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/string_view:472:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator<(std::basic_string_view<_CharT, _Traits>, std::basic_string_view<_CharT, _Traits>)'
     operator< (basic_string_view<_CharT, _Traits> __x,
     ^~~~~~~~
/usr/include/c++/8/string_view:472:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'BlockState' is not derived from 'std::basic_string_view<_CharT, _Traits>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/basic_string.h:48,
                 from /usr/include/c++/8/string:52,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/string_view:478:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator<(std::basic_string_view<_CharT, _Traits>, std::__detail::__idt<std::basic_string_view<_CharT, _Traits> >)'
     operator< (basic_string_view<_CharT, _Traits> __x,
     ^~~~~~~~
/usr/include/c++/8/string_view:478:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'BlockState' is not derived from 'std::basic_string_view<_CharT, _Traits>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/basic_string.h:48,
                 from /usr/include/c++/8/string:52,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/string_view:484:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator<(std::__detail::__idt<std::basic_string_view<_CharT, _Traits> >, std::basic_string_view<_CharT, _Traits>)'
     operator< (__detail::__idt<basic_string_view<_CharT, _Traits>> __x,
     ^~~~~~~~
/usr/include/c++/8/string_view:484:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'BlockState' is not derived from 'std::basic_string_view<_CharT, _Traits>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/string:52,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/basic_string.h:6133:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator<(const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)'
     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^~~~~~~~
/usr/include/c++/8/bits/basic_string.h:6133:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/string:52,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/basic_string.h:6146:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator<(const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, const _CharT*)'
     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^~~~~~~~
/usr/include/c++/8/bits/basic_string.h:6146:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/string:52,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/basic_string.h:6158:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator<(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)'
     operator<(const _CharT* __lhs,
     ^~~~~~~~
/usr/include/c++/8/bits/basic_string.h:6158:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   mismatched types 'const _CharT*' and 'BlockState'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/array:262:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> bool std::operator<(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&)'
     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
     ^~~~~~~~
/usr/include/c++/8/array:262:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::array<_Tp, _Nm>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/std_mutex.h:39,
                 from /usr/include/c++/8/condition_variable:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:125,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/system_error:208:3: note: candidate: 'bool std::operator<(const std::error_code&, const std::error_code&)'
   operator<(const error_code& __lhs, const error_code& __rhs) noexcept
   ^~~~~~~~
/usr/include/c++/8/system_error:208:3: note:   no known conversion for argument 1 from 'const BlockState' to 'const std::error_code&'
/usr/include/c++/8/system_error:282:3: note: candidate: 'bool std::operator<(const std::error_condition&, const std::error_condition&)'
   operator<(const error_condition& __lhs,
   ^~~~~~~~
/usr/include/c++/8/system_error:282:3: note:   no known conversion for argument 1 from 'const BlockState' to 'const std::error_condition&'
In file included from /usr/include/c++/8/bits/unique_ptr.h:37,
                 from /usr/include/c++/8/condition_variable:43,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:125,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/tuple:1426:5: note: candidate: 'template<class ... _TElements, class ... _UElements> constexpr bool std::operator<(const std::tuple<_Tps ...>&, const std::tuple<_Elements ...>&)'
     operator<(const tuple<_TElements...>& __t,
     ^~~~~~~~
/usr/include/c++/8/tuple:1426:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::tuple<_Tps ...>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/condition_variable:43,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:125,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/unique_ptr.h:723:5: note: candidate: 'template<class _Tp, class _Dp, class _Up, class _Ep> bool std::operator<(const std::unique_ptr<_Tp, _Dp>&, const std::unique_ptr<_Up, _Ep>&)'
     operator<(const unique_ptr<_Tp, _Dp>& __x,
     ^~~~~~~~
/usr/include/c++/8/bits/unique_ptr.h:723:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::unique_ptr<_Tp, _Dp>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/condition_variable:43,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:125,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/unique_ptr.h:734:5: note: candidate: 'template<class _Tp, class _Dp> bool std::operator<(const std::unique_ptr<_Tp, _Dp>&, std::nullptr_t)'
     operator<(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
     ^~~~~~~~
/usr/include/c++/8/bits/unique_ptr.h:734:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::unique_ptr<_Tp, _Dp>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/condition_variable:43,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:125,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/unique_ptr.h:740:5: note: candidate: 'template<class _Tp, class _Dp> bool std::operator<(std::nullptr_t, const std::unique_ptr<_Tp, _Dp>&)'
     operator<(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
     ^~~~~~~~
/usr/include/c++/8/bits/unique_ptr.h:740:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::unique_ptr<_Tp, _Dp>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/shared_ptr.h:52,
                 from /usr/include/c++/8/condition_variable:44,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:125,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/shared_ptr_base.h:1442:5: note: candidate: 'template<class _Tp, class _Up, __gnu_cxx::_Lock_policy _Lp> bool std::operator<(const std::__shared_ptr<_Tp1, _Lp>&, const std::__shared_ptr<_Tp2, _Lp>&)'
     operator<(const __shared_ptr<_Tp, _Lp>& __a,
     ^~~~~~~~
/usr/include/c++/8/bits/shared_ptr_base.h:1442:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::__shared_ptr<_Tp1, _Lp>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/shared_ptr.h:52,
                 from /usr/include/c++/8/condition_variable:44,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:125,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/shared_ptr_base.h:1453:5: note: candidate: 'template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator<(const std::__shared_ptr<_Tp, _Lp>&, std::nullptr_t)'
     operator<(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
     ^~~~~~~~
/usr/include/c++/8/bits/shared_ptr_base.h:1453:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::__shared_ptr<_Tp, _Lp>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/shared_ptr.h:52,
                 from /usr/include/c++/8/condition_variable:44,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:125,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/shared_ptr_base.h:1461:5: note: candidate: 'template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator<(std::nullptr_t, const std::__shared_ptr<_Tp, _Lp>&)'
     operator<(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
     ^~~~~~~~
/usr/include/c++/8/bits/shared_ptr_base.h:1461:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::__shared_ptr<_Tp, _Lp>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/condition_variable:44,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:125,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/shared_ptr.h:413:5: note: candidate: 'template<class _Tp, class _Up> bool std::operator<(const std::shared_ptr<_Tp>&, const std::shared_ptr<_Tp>&)'
     operator<(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
     ^~~~~~~~
/usr/include/c++/8/bits/shared_ptr.h:413:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::shared_ptr<_Tp>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/condition_variable:44,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:125,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/shared_ptr.h:423:5: note: candidate: 'template<class _Tp> bool std::operator<(const std::shared_ptr<_Tp>&, std::nullptr_t)'
     operator<(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
     ^~~~~~~~
/usr/include/c++/8/bits/shared_ptr.h:423:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::shared_ptr<_Tp>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/condition_variable:44,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:125,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/shared_ptr.h:431:5: note: candidate: 'template<class _Tp> bool std::operator<(std::nullptr_t, const std::shared_ptr<_Tp>&)'
     operator<(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
     ^~~~~~~~
/usr/include/c++/8/bits/shared_ptr.h:431:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::shared_ptr<_Tp>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/deque:64,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:126,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_deque.h:294:5: note: candidate: 'template<class _Tp, class _Ref, class _Ptr> bool std::operator<(const std::_Deque_iterator<_Tp, _Ref, _Ptr>&, const std::_Deque_iterator<_Tp, _Ref, _Ptr>&)'
     operator<(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
     ^~~~~~~~
/usr/include/c++/8/bits/stl_deque.h:294:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::_Deque_iterator<_Tp, _Ref, _Ptr>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/deque:64,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:126,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_deque.h:302:5: note: candidate: 'template<class _Tp, class _RefL, class _PtrL, class _RefR, class _PtrR> bool std::operator<(const std::_Deque_iterator<_Tp, _Ref, _Ptr>&, const std::_Deque_iterator<_Tp, _RefR, _PtrR>&)'
     operator<(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
     ^~~~~~~~
/usr/include/c++/8/bits/stl_deque.h:302:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::_Deque_iterator<_Tp, _Ref, _Ptr>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/deque:64,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:126,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_deque.h:2295:5: note: candidate: 'template<class _Tp, class _Alloc> bool std::operator<(const std::deque<_Tp, _Alloc>&, const std::deque<_Tp, _Alloc>&)'
     operator<(const deque<_Tp, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/8/bits/stl_deque.h:2295:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::deque<_Tp, _Alloc>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/list:63,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:129,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_list.h:2021:5: note: candidate: 'template<class _Tp, class _Alloc> bool std::operator<(const std::__cxx11::list<_Tp, _Alloc>&, const std::__cxx11::list<_Tp, _Alloc>&)'
     operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
     ^~~~~~~~
/usr/include/c++/8/bits/stl_list.h:2021:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::__cxx11::list<_Tp, _Alloc>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/node_handle.h:39,
                 from /usr/include/c++/8/bits/stl_tree.h:72,
                 from /usr/include/c++/8/map:60,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:130,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/optional:1297:5: note: candidate: 'template<class _Tp, class _Up> constexpr std::__optional_relop_t<decltype ((declval<_Tp>() < declval<_Up>()))> std::operator<(const std::optional<_Tp>&, const std::optional<_Up>&)'
     operator<(const optional<_Tp>& __lhs, const optional<_Up>& __rhs)
     ^~~~~~~~
/usr/include/c++/8/optional:1297:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::optional<_Tp>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/node_handle.h:39,
                 from /usr/include/c++/8/bits/stl_tree.h:72,
                 from /usr/include/c++/8/map:60,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:130,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/optional:1350:5: note: candidate: 'template<class _Tp> constexpr bool std::operator<(const std::optional<_Tp>&, std::nullopt_t)'
     operator<(const optional<_Tp>& /* __lhs */, nullopt_t) noexcept
     ^~~~~~~~
/usr/include/c++/8/optional:1350:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::optional<_Tp>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/node_handle.h:39,
                 from /usr/include/c++/8/bits/stl_tree.h:72,
                 from /usr/include/c++/8/map:60,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:130,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/optional:1355:5: note: candidate: 'template<class _Tp> constexpr bool std::operator<(std::nullopt_t, const std::optional<_Tp>&)'
     operator<(nullopt_t, const optional<_Tp>& __rhs) noexcept
     ^~~~~~~~
/usr/include/c++/8/optional:1355:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::optional<_Tp>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/node_handle.h:39,
                 from /usr/include/c++/8/bits/stl_tree.h:72,
                 from /usr/include/c++/8/map:60,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:130,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/optional:1415:5: note: candidate: 'template<class _Tp, class _Up> constexpr std::__optional_relop_t<decltype ((declval<_Tp>() < declval<_Up>()))> std::operator<(const std::optional<_Tp>&, const _Up&)'
     operator<(const optional<_Tp>& __lhs, const _Up& __rhs)
     ^~~~~~~~
/usr/include/c++/8/optional:1415:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::optional<_Tp>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/bits/node_handle.h:39,
                 from /usr/include/c++/8/bits/stl_tree.h:72,
                 from /usr/include/c++/8/map:60,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:130,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/optional:1421:5: note: candidate: 'template<class _Tp, class _Up> constexpr std::__optional_relop_t<decltype ((declval<_Up>() < declval<_Tp>()))> std::operator<(const _Up&, const std::optional<_Tp>&)'
     operator<(const _Up& __lhs, const optional<_Tp>& __rhs)
     ^~~~~~~~
/usr/include/c++/8/optional:1421:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::optional<_Tp>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/map:60,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:130,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_tree.h:1559:5: note: candidate: 'template<class _Key, class _Val, class _KeyOfValue, class _Compare, class _Alloc> bool std::operator<(const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&, const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)'
     operator<(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/8/bits/stl_tree.h:1559:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/map:61,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:130,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_map.h:1451:5: note: candidate: 'template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator<(const std::map<_Key, _Tp, _Compare, _Allocator>&, const std::map<_Key, _Tp, _Compare, _Allocator>&)'
     operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/8/bits/stl_map.h:1451:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::map<_Key, _Tp, _Compare, _Allocator>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/map:62,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:130,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_multimap.h:1115:5: note: candidate: 'template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator<(const std::multimap<_Key, _Tp, _Compare, _Allocator>&, const std::multimap<_Key, _Tp, _Compare, _Allocator>&)'
     operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/8/bits/stl_multimap.h:1115:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::multimap<_Key, _Tp, _Compare, _Allocator>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/vector:64,
                 from /usr/include/c++/8/queue:61,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:133,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_vector.h:1770:5: note: candidate: 'template<class _Tp, class _Alloc> bool std::operator<(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)'
     operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
     ^~~~~~~~
/usr/include/c++/8/bits/stl_vector.h:1770:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::vector<_Tp, _Alloc>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/queue:64,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:133,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_queue.h:348:5: note: candidate: 'template<class _Tp, class _Seq> bool std::operator<(const std::queue<_Tp, _Seq>&, const std::queue<_Tp, _Seq>&)'
     operator<(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
     ^~~~~~~~
/usr/include/c++/8/bits/stl_queue.h:348:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::queue<_Tp, _Seq>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/set:61,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:135,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_set.h:975:5: note: candidate: 'template<class _Key, class _Compare, class _Alloc> bool std::operator<(const std::set<_Key, _Compare, _Allocator>&, const std::set<_Key, _Compare, _Allocator>&)'
     operator<(const set<_Key, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/8/bits/stl_set.h:975:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::set<_Key, _Compare, _Allocator>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /usr/include/c++/8/set:62,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:135,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_multiset.h:960:5: note: candidate: 'template<class _Key, class _Compare, class _Alloc> bool std::operator<(const std::multiset<_Key, _Compare, _Allocator>&, const std::multiset<_Key, _Compare, _Allocator>&)'
     operator<(const multiset<_Key, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/8/bits/stl_multiset.h:960:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::multiset<_Key, _Compare, _Allocator>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:137,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/thread:291:3: note: candidate: 'bool std::operator<(std::thread::id, std::thread::id)'
   operator<(thread::id __x, thread::id __y) noexcept
   ^~~~~~~~
/usr/include/c++/8/thread:291:3: note:   no known conversion for argument 1 from 'const BlockState' to 'std::thread::id'
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:142,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/variant:982:3: note: candidate: 'template<class ... _Types> constexpr bool std::operator<(const std::variant<_Types ...>&, const std::variant<_Types ...>&)'
   _VARIANT_RELATION_FUNCTION_TEMPLATE(<, less)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/variant:982:3: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/8/string:48,
                 from /usr/include/c++/8/stdexcept:39,
                 from /usr/include/c++/8/array:39,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:122,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/bits/stl_function.h:386:20: note:   'const BlockState' is not derived from 'const std::variant<_Types ...>'
       { return __x < __y; }
                ~~~~^~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:142,
                 from /home/bearbin/workspace/cuberite_PR-5151/tests/BlockTypeRegistry/BlockStateTest.cpp:1:
/usr/include/c++/8/variant:982:3: note: candidate: 'constexpr bool std::operator<(std::monostate, std::monostate)'
   _VARIANT_RELATION_FUNCTION_TEMPLATE(<, less)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/8/variant:982:3: note:   no known conversion for argument 1 from 'const BlockState' to 'std::monostate'
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:2:
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.h:19:7: error: redefinition of 'class BlockState'
 class BlockState
       ^~~~~~~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: previous definition of 'class BlockState'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:8:1: error: redefinition of 'BlockState::BlockState()'
 BlockState::BlockState():
 ^~~~~~~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note: 'constexpr BlockState::BlockState()' previously defined here
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:18:1: error: no declaration matches 'BlockState::BlockState(const AString&, const AString&)'
 BlockState::BlockState(const AString & aKey, const AString & aValue):
 ^~~~~~~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidates are: 'constexpr BlockState::BlockState(BlockState&&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:                 'constexpr BlockState::BlockState(const BlockState&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:                 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:                 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:                 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: 'class BlockState' defined here
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:19:25: error: expected unqualified-id before ')' token
  mState({{aKey, aValue}}),
                         ^
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:28:1: error: no declaration matches 'BlockState::BlockState(std::initializer_list<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >)'
 BlockState::BlockState(std::initializer_list<std::pair<const AString, AString>> aKeysAndValues):
 ^~~~~~~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidates are: 'constexpr BlockState::BlockState(BlockState&&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:                 'constexpr BlockState::BlockState(const BlockState&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:                 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:                 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:                 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: 'class BlockState' defined here
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:38:1: error: no declaration matches 'BlockState::BlockState(const std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&)'
 BlockState::BlockState(const std::map<AString, AString> & aKeysAndValues):
 ^~~~~~~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidates are: 'constexpr BlockState::BlockState(BlockState&&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:                 'constexpr BlockState::BlockState(const BlockState&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:                 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:                 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:                 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: 'class BlockState' defined here
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:48:1: error: no declaration matches 'BlockState::BlockState(std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&&)'
 BlockState::BlockState(std::map<AString, AString> && aKeysAndValues):
 ^~~~~~~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidates are: 'constexpr BlockState::BlockState(BlockState&&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:                 'constexpr BlockState::BlockState(const BlockState&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:                 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:                 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:                 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: 'class BlockState' defined here
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:58:1: error: no declaration matches 'BlockState::BlockState(const BlockState&, std::initializer_list<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >)'
 BlockState::BlockState(const BlockState & aCopyFrom, std::initializer_list<std::pair<const AString, AString>> aAdditionalKeysAndValues):
 ^~~~~~~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidates are: 'constexpr BlockState::BlockState(BlockState&&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:                 'constexpr BlockState::BlockState(const BlockState&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:                 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:                 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:                 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: 'class BlockState' defined here
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:72:1: error: no declaration matches 'BlockState::BlockState(const BlockState&, const std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&)'
 BlockState::BlockState(const BlockState & aCopyFrom, const std::map<AString, AString> & aAdditionalKeysAndValues):
 ^~~~~~~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: candidates are: 'constexpr BlockState::BlockState(BlockState&&)'
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note:                 'constexpr BlockState::BlockState(const BlockState&)'
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:18:2: note:                 'BlockState::BlockState(BlockType)'
  BlockState(BlockType a_Type);  // TODO(12xx12) constexpr this
  ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:13:12: note:                 'constexpr BlockState::BlockState(uint_least16_t)'
  constexpr BlockState(uint_least16_t StateID) :
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:11:12: note:                 'constexpr BlockState::BlockState()'
  constexpr BlockState() : ID(0) {}
            ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: 'class BlockState' defined here
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:86:6: error: no declaration matches 'bool BlockState::operator<(const BlockState&) const'
 bool BlockState::operator <(const BlockState & aOther) const
      ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:86:6: note: no functions named 'bool BlockState::operator<(const BlockState&) const'
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: 'class BlockState' defined here
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:132:6: error: no declaration matches 'bool BlockState::operator==(const BlockState&) const'
 bool BlockState::operator ==(const BlockState & aOther) const
      ^~~~~~~~~~
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:23:7: note: candidate is: 'bool BlockState::operator==(BlockState) const'
  bool operator == (BlockState Block) const
       ^~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: 'class BlockState' defined here
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:148:17: error: no declaration matches 'const AString& BlockState::value(const AString&) const'
 const AString & BlockState::value(const AString & aKey) const
                 ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:148:17: note: no functions named 'const AString& BlockState::value(const AString&) const'
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: 'class BlockState' defined here
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:163:8: error: no declaration matches 'UInt32 BlockState::initializeChecksum()'
 UInt32 BlockState::initializeChecksum()
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:163:8: note: no functions named 'UInt32 BlockState::initializeChecksum()'
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: 'class BlockState' defined here
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:182:6: error: no declaration matches 'void BlockState::removeEmptyKeys()'
 void BlockState::removeEmptyKeys()
      ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:182:6: note: no functions named 'void BlockState::removeEmptyKeys()'
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: 'class BlockState' defined here
 struct BlockState
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:201:8: error: no declaration matches 'UInt32 BlockState::partialChecksum(const AString&)'
 UInt32 BlockState::partialChecksum(const AString & aString)
        ^~~~~~~~~~
/home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:201:8: note: no functions named 'UInt32 BlockState::partialChecksum(const AString&)'
In file included from /home/bearbin/workspace/cuberite_PR-5151/src/Globals.h:397,
                 from /home/bearbin/workspace/cuberite_PR-5151/src/Bindings/BlockState.cpp:1:
/home/bearbin/workspace/cuberite_PR-5151/src/BlockState.h:9:8: note: 'class BlockState' defined here
 struct BlockState
        ^~~~~~~~~~
make[2]: *** [tests/BlockTypeRegistry/CMakeFiles/BlockStateTest.dir/build.make:76: tests/BlockTypeRegistry/CMakeFiles/BlockStateTest.dir/__/__/src/Bindings/BlockState.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 22%] Building CXX object Tools/NoiseSpeedTest/CMakeFiles/NoiseSpeedTest.dir/__/__/src/LoggerListeners.cpp.o
make[2]: *** [tests/BlockTypeRegistry/CMakeFiles/BlockStateTest.dir/build.make:63: tests/BlockTypeRegistry/CMakeFiles/BlockStateTest.dir/BlockStateTest.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1904: tests/BlockTypeRegistry/CMakeFiles/BlockStateTest.dir/all] Error 2
[ 22%] Building CXX object Tools/NoiseSpeedTest/CMakeFiles/NoiseSpeedTest.dir/__/__/src/OSSupport/CriticalSection.cpp.o
[ 22%] Building CXX object Tools/NoiseSpeedTest/CMakeFiles/NoiseSpeedTest.dir/__/__/src/OSSupport/File.cpp.o
[ 22%] Building CXX object Tools/NoiseSpeedTest/CMakeFiles/NoiseSpeedTest.dir/__/__/src/OSSupport/StackTrace.cpp.o
[ 22%] Building CXX object Tools/NoiseSpeedTest/CMakeFiles/NoiseSpeedTest.dir/__/__/src/OSSupport/WinStackWalker.cpp.o
[ 22%] Building CXX object Tools/NoiseSpeedTest/CMakeFiles/NoiseSpeedTest.dir/__/__/src/Noise/Noise.cpp.o
[ 23%] Building CXX object Tools/NoiseSpeedTest/CMakeFiles/NoiseSpeedTest.dir/__/__/src/StringUtils.cpp.o
[ 23%] Linking CXX executable ../../bin/NoiseSpeedTest
[ 23%] Built target NoiseSpeedTest
make: *** [Makefile:141: all] Error 2