Fixes a build regression in Windows/Python. #2541 introduced clang-tidy as a lint pass, as well as a host of autofixes, one of which was to make create_mapping() C++ method const. However, in an #ifdef(windows) block, a member value was mutated in this method, causing compilation errors on Windows. This method is actually vestigial in current Perspective (it related to disk-backed Table implementations), but is still compiled. This PR simply fixes the compilation issue by removing const - in the future we should really move this functionality to a deprecated folder.
Updates clang-format and clang-tidy lint rules to use LLVM 17 (previously 16). Over the course of #2467 #2541 we discovered no good way to achieve both glibc 1.26 and llvm 17 support for the entire lint+build process on the GitHub Actions CI machines available, without potentially building LLVM from source as part of the build process, so we chose LLVM 16 as a compromise. However, further conflicts made this untenable still so we instead only use LLVM 16 for lint+tidy, which happens in a dedicated CI job (VM) which does not compile (or is JS which does not use system clang). Since we don't compile with this toolchain, there is no actual reason to limit it, so this PR updates to 17 and applies autofix.
clang-tidy
as a lint pass, as well as a host of autofixes, one of which was to makecreate_mapping()
C++ methodconst
. However, in an#ifdef(windows)
block, a member value was mutated in this method, causing compilation errors on Windows. This method is actually vestigial in current Perspective (it related to disk-backedTable
implementations), but is still compiled. This PR simply fixes the compilation issue by removingconst
- in the future we should really move this functionality to a deprecated folder.clang-format
andclang-tidy
lint rules to use LLVM 17 (previously 16). Over the course of #2467 #2541 we discovered no good way to achieve both glibc 1.26 and llvm 17 support for the entire lint+build process on the GitHub Actions CI machines available, without potentially building LLVM from source as part of the build process, so we chose LLVM 16 as a compromise. However, further conflicts made this untenable still so we instead only use LLVM 16 for lint+tidy, which happens in a dedicated CI job (VM) which does not compile (or is JS which does not use systemclang
). Since we don't compile with this toolchain, there is no actual reason to limit it, so this PR updates to 17 and applies autofix.