Skip to content

Expand dev instructions to install the dev tools#119

Merged
gregorgorjanc merged 3 commits intoHighlanderLab:mainfrom
gregorgorjanc:gregorgorjanc/issue114
Mar 13, 2026
Merged

Expand dev instructions to install the dev tools#119
gregorgorjanc merged 3 commits intoHighlanderLab:mainfrom
gregorgorjanc:gregorgorjanc/issue114

Conversation

@gregorgorjanc
Copy link
Copy Markdown
Member

Fixes #114 #115

@gregorgorjanc
Copy link
Copy Markdown
Member Author

@LynxJinyangii @hannesbecher what are your thoughts on this development guide? Would you change anything?

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 4, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@hannesbecher
Copy link
Copy Markdown

@bryo-han

@gregorgorjanc gregorgorjanc force-pushed the gregorgorjanc/issue114 branch from e282410 to 494f19c Compare March 9, 2026 14:52
@gregorgorjanc
Copy link
Copy Markdown
Member Author

@bryo-han I have done another round of polishing. Any further feedback from your end before we merge?

@LynxJinyangii is this howto helpful/clear to you?

Copy link
Copy Markdown
Contributor

@bryo-han bryo-han left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy!

@gregorgorjanc gregorgorjanc force-pushed the gregorgorjanc/issue114 branch from 494f19c to c1fd8bc Compare March 9, 2026 20:51
@gregorgorjanc
Copy link
Copy Markdown
Member Author

@bryo-han thanks for feedback - have implemented your suggestions. Would be good to hear from you @LynxJinyangii too - is the howto clear enough or you think we should change any steps?

@bryo-han
Copy link
Copy Markdown
Contributor

bryo-han commented Mar 10, 2026

@gregorgorjanc , when running on Ubuntu 24.04 with the default versions of LLVM (i.e. old(!) version 18) and clang-tidy. I get endless errors. The pre-commit hooks seem to be quite sensitive to the LLVM version. Unfortunately, I cannot see an easy way of updating LLVM.

Output...
hbecher@curie:~/git_repos/RcppTskit$ git push
trim trailing whitespace..................................................Passed
fix end of files..........................................................Passed
mixed line ending.........................................................Passed
check yaml............................................(no files to check)Skipped
check for added large files...............................................Passed
check for merge conflicts.................................................Passed
air format............................................(no files to check)Skipped
jarl lint.............................................(no files to check)Skipped
clang-format..............................................................Passed
clang-tidy for RcppTskit..................................................Failed
- hook id: clang-tidy
- exit code: 1

136829 warnings and 1 error generated.
Error while processing /home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp.
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:7:1: warning: system include cstdint not allowed [llvmlibc-restrict-system-libc-headers]
    7 | #include <cstdint>
      | ^~~~~~~~~~~~~~~~~~
    8 | #include <exception>
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:8:1: warning: system include exception not allowed [llvmlibc-restrict-system-libc-headers]
    8 | #include <exception>
      | ^~~~~~~~~~~~~~~~~~~~
    9 | #include <limits>
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:9:1: warning: system include limits not allowed [llvmlibc-restrict-system-libc-headers]
    9 | #include <limits>
      | ^~~~~~~~~~~~~~~~~
   10 | #include <vector>
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:10:1: warning: system include vector not allowed [llvmlibc-restrict-system-libc-headers]
   10 | #include <vector>
      | ^
note: this fix will not be applied because it overlaps with another fix
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:10:1: warning: included header vector is not used directly [misc-include-cleaner]
note: this fix will not be applied because it overlaps with another fix
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:12:11: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
   12 | namespace {
      |           ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:15:11: warning: no header providing "tsk_flags_t" is directly included [misc-include-cleaner]
    5 | #define RCPPTSKIT_IMPL
    6 | #include <RcppTskit.hpp>
    7 | #include <cstdint>
    8 | #include <exception>
    9 | #include <limits>
   10 | #include <vector>
   11 | 
   12 | namespace {
   13 | // namespace to keep the contents local to this file
   14 | 
   15 | constexpr tsk_flags_t kLoadSupportedFlags =
      |           ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:16:5: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
   16 |     TSK_LOAD_SKIP_TABLES | TSK_LOAD_SKIP_REFERENCE_SEQUENCE;
      |     ^                    ~
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/tables.h:814:30: note: expanded from macro 'TSK_LOAD_SKIP_TABLES'
  814 | #define TSK_LOAD_SKIP_TABLES (1 << 0)
      |                              ^~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:16:5: warning: no header providing "TSK_LOAD_SKIP_TABLES" is directly included [misc-include-cleaner]
   16 |     TSK_LOAD_SKIP_TABLES | TSK_LOAD_SKIP_REFERENCE_SEQUENCE;
      |     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:16:28: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
   16 |     TSK_LOAD_SKIP_TABLES | TSK_LOAD_SKIP_REFERENCE_SEQUENCE;
      |                            ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/tables.h:816:43: note: expanded from macro 'TSK_LOAD_SKIP_REFERENCE_SEQUENCE'
  816 | #define TSK_LOAD_SKIP_REFERENCE_SEQUENCE (1 << 1)
      |                                           ^ ~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:16:28: warning: no header providing "TSK_LOAD_SKIP_REFERENCE_SEQUENCE" is directly included [misc-include-cleaner]
   16 |     TSK_LOAD_SKIP_TABLES | TSK_LOAD_SKIP_REFERENCE_SEQUENCE;
      |                            ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:18:51: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
   18 | constexpr tsk_flags_t kCopyTablesSupportedFlags = TSK_COPY_FILE_UUID;
      |                                                   ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/tables.h:845:29: note: expanded from macro 'TSK_COPY_FILE_UUID'
  845 | #define TSK_COPY_FILE_UUID (1 << 0)
      |                             ^ ~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:18:51: warning: no header providing "TSK_COPY_FILE_UUID" is directly included [misc-include-cleaner]
   18 | constexpr tsk_flags_t kCopyTablesSupportedFlags = TSK_COPY_FILE_UUID;
      |                                                   ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:21:5: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
   21 |     TSK_TS_INIT_BUILD_INDEXES | TSK_TS_INIT_COMPUTE_MUTATION_PARENTS;
      |     ^                         ~
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/trees.h:73:35: note: expanded from macro 'TSK_TS_INIT_BUILD_INDEXES'
   73 | #define TSK_TS_INIT_BUILD_INDEXES (1 << 0)
      |                                   ^~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:21:5: warning: no header providing "TSK_TS_INIT_BUILD_INDEXES" is directly included [misc-include-cleaner]
   21 |     TSK_TS_INIT_BUILD_INDEXES | TSK_TS_INIT_COMPUTE_MUTATION_PARENTS;
      |     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:21:33: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
   21 |     TSK_TS_INIT_BUILD_INDEXES | TSK_TS_INIT_COMPUTE_MUTATION_PARENTS;
      |                                 ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/trees.h:78:47: note: expanded from macro 'TSK_TS_INIT_COMPUTE_MUTATION_PARENTS'
   78 | #define TSK_TS_INIT_COMPUTE_MUTATION_PARENTS (1 << 1)
      |                                               ^ ~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:21:33: warning: no header providing "TSK_TS_INIT_COMPUTE_MUTATION_PARENTS" is directly included [misc-include-cleaner]
   21 |     TSK_TS_INIT_BUILD_INDEXES | TSK_TS_INIT_COMPUTE_MUTATION_PARENTS;
      |                                 ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:33:13: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
   33 | tsk_flags_t validate_load_options(const int options, const char *caller) {
      | ~~~~~~~~~~~ ^
      | auto                                                                     -> tsk_flags_t
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:37:9: warning: use auto when initializing with a cast to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
   37 |   const tsk_flags_t flags = static_cast<tsk_flags_t>(options);
      |         ^~~~~~~~~~~
      |         auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:61:13: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
   61 | tsk_flags_t validate_copy_tables_options(const int options,
      | ~~~~~~~~~~~ ^
      | auto
   62 |                                          const char *caller) {
      |                                                              -> tsk_flags_t
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:66:9: warning: use auto when initializing with a cast to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
   66 |   const tsk_flags_t flags = static_cast<tsk_flags_t>(options);
      |         ^~~~~~~~~~~
      |         auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:67:7: warning: implicit conversion 'unsigned int' -> 'bool' [readability-implicit-bool-conversion]
   67 |   if (flags & TSK_NO_INIT) {
      |       ^                  
      |       (                  ) != 0u
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:67:15: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
   67 |   if (flags & TSK_NO_INIT) {
      |               ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/core.h:225:28: note: expanded from macro 'TSK_NO_INIT'
  225 | #define TSK_NO_INIT (1u << 30)
      |                         ~~ ^~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:67:15: warning: no header providing "TSK_NO_INIT" is directly included [misc-include-cleaner]
   67 |   if (flags & TSK_NO_INIT) {
      |               ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:93:13: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
   93 | tsk_flags_t validate_treeseq_init_options(const int options,
      | ~~~~~~~~~~~ ^
      | auto
   94 |                                           const char *caller) {
      |                                                               -> tsk_flags_t
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:98:9: warning: use auto when initializing with a cast to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
   98 |   const tsk_flags_t flags = static_cast<tsk_flags_t>(options);
      |         ^~~~~~~~~~~
      |         auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:99:7: warning: implicit conversion 'unsigned int' -> 'bool' [readability-implicit-bool-conversion]
   99 |   if (flags & TSK_TAKE_OWNERSHIP) {
      |       ^                         
      |       (                         ) != 0u
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:99:15: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
   99 |   if (flags & TSK_TAKE_OWNERSHIP) {
      |               ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/core.h:242:35: note: expanded from macro 'TSK_TAKE_OWNERSHIP'
  242 | #define TSK_TAKE_OWNERSHIP (1u << 28)
      |                                ~~ ^~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:99:15: warning: no header providing "TSK_TAKE_OWNERSHIP" is directly included [misc-include-cleaner]
   99 |   if (flags & TSK_TAKE_OWNERSHIP) {
      |               ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:123:13: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  123 | tsk_flags_t validate_options(const int options, const tsk_flags_t supported,
      | ~~~~~~~~~~~ ^
      | auto
  124 |                              const char *caller) {
      |                                                  -> tsk_flags_t
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:123:30: warning: 2 adjacent parameters of 'validate_options' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters]
  123 | tsk_flags_t validate_options(const int options, const tsk_flags_t supported,
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:123:40: note: the first parameter in the range is 'options'
  123 | tsk_flags_t validate_options(const int options, const tsk_flags_t supported,
      |                                        ^~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:123:67: note: the last parameter in the range is 'supported'
  123 | tsk_flags_t validate_options(const int options, const tsk_flags_t supported,
      |                                                                   ^~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:123:30: note: 
  123 | tsk_flags_t validate_options(const int options, const tsk_flags_t supported,
      |                              ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:123:49: note: 'const int' and 'const tsk_flags_t' may be implicitly converted: 'const int' (as 'int') -> 'const tsk_flags_t' (as 'unsigned int'), 'const tsk_flags_t' (as 'unsigned int') -> 'const int' (as 'int')
  123 | tsk_flags_t validate_options(const int options, const tsk_flags_t supported,
      |                                                 ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:128:9: warning: use auto when initializing with a cast to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
  128 |   const tsk_flags_t flags = static_cast<tsk_flags_t>(options);
      |         ^~~~~~~~~~~
      |         auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:141:11: warning: no header providing "tsk_size_t" is directly included [misc-include-cleaner]
  141 | constexpr tsk_size_t kMaxBit64Integer64 =
      |           ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:142:29: warning: 'max' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  142 |     static_cast<tsk_size_t>(std::numeric_limits<int64_t>::max());
      |                             ^
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/limits:1207:7: note: resolves to this declaration
 1207 |       max() _GLIBCXX_USE_NOEXCEPT { return __LONG_MAX__; }
      |       ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:149:9: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  149 | VectorT nullable_to_vector_or_empty(const Rcpp::Nullable<VectorT> &value) {
      | ~~~~~~~ ^
      | auto                                                                      -> VectorT
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:149:49: warning: no header providing "Rcpp::Nullable" is directly included [misc-include-cleaner]
    5 | VectorT nullable_to_vector_or_empty(const Rcpp::Nullable<VectorT> &value) {
      |                                                 ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:163:23: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  163 | std::vector<tsk_id_t> int_vector_to_tsk_id_vector(
      |                       ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:164:17: warning: no header providing "Rcpp::IntegerVector" is directly included [misc-include-cleaner]
    5 |     const Rcpp::IntegerVector &ids,
      |                 ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:165:5: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
  165 |     const char *caller = "int_vector_to_tsk_id_vector") {
      |     ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:189:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  189 | SEXP rtsk_wrap_tsk_size_t_as_integer64(const tsk_size_t value,
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:192:7: warning: 'to_string' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  192 |       std::to_string(static_cast<unsigned long long>(value));
      |       ^
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:4229:3: note: resolves to this declaration
 4229 |   to_string(unsigned long long __val)
      |   ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:192:12: warning: no header providing "std::to_string" is directly included [misc-include-cleaner]
    5 |       std::to_string(static_cast<unsigned long long>(value));
      |            ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:192:34: warning: consider replacing 'unsigned long long' with 'uint64' [google-runtime-int]
  192 |       std::to_string(static_cast<unsigned long long>(value));
      |                                  ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:195:9: warning: 'to_string' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  195 |         std::to_string(static_cast<unsigned long long>(kMaxBit64Integer64));
      |         ^
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:4229:3: note: resolves to this declaration
 4229 |   to_string(unsigned long long __val)
      |   ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:195:36: warning: consider replacing 'unsigned long long' with 'uint64' [google-runtime-int]
  195 |         std::to_string(static_cast<unsigned long long>(kMaxBit64Integer64));
      |                                    ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:200:16: warning: no header providing "Rcpp::Function" is directly included [misc-include-cleaner]
    5 |   static Rcpp::Function as_integer64 =
      |                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:213:5: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  213 | int test_validate_options(const int options, const int supported) {
      |     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:213:5: warning: function 'test_validate_options' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  213 | int test_validate_options(const int options, const int supported) {
      |     ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:213:5: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  213 | int test_validate_options(const int options, const int supported) {
      | ~~~ ^
      | auto                                                              -> int
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:214:27: warning: 'validate_options' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  214 |   const tsk_flags_t out = validate_options(
      |                           ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:123:13: note: resolves to this declaration
  123 | tsk_flags_t validate_options(const int options, const tsk_flags_t supported,
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:225:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  225 | SEXP test_rtsk_wrap_tsk_size_t_as_integer64(
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:225:6: warning: function 'test_rtsk_wrap_tsk_size_t_as_integer64' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  225 | SEXP test_rtsk_wrap_tsk_size_t_as_integer64(
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:225:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:226:30: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
  226 |     const std::string value, const bool force_range_error = false) {
      |                              ^                            ~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:227:3: warning: consider replacing 'unsigned long long' with 'uint64' [google-runtime-int]
  227 |   unsigned long long parsed = 0;
      |   ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:228:8: warning: no header providing "std::size_t" is directly included [misc-include-cleaner]
    5 |   std::size_t parsed_chars = 0;
      |        ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:230:14: warning: 'stoull' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  230 |     parsed = std::stoull(value, &parsed_chars, 10);
      |              ^
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:4140:3: note: resolves to this declaration
 4140 |   stoull(const string& __str, size_t* __idx = 0, int __base = 10)
      |   ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:230:19: warning: no header providing "std::stoull" is directly included [misc-include-cleaner]
  230 |     parsed = std::stoull(value, &parsed_chars, 10);
      |                   ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:230:48: warning: 10 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers]
  230 |     parsed = std::stoull(value, &parsed_chars, 10);
      |                                                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:237:9: warning: use auto when initializing with a cast to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
  237 |   const tsk_size_t tsk_value = static_cast<tsk_size_t>(parsed);
      |         ^~~~~~~~~~
      |         auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:239:19: warning: consider replacing 'unsigned long long' with 'uint64' [google-runtime-int]
  239 |       static_cast<unsigned long long>(tsk_value) != parsed) {
      |                   ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:255:21: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  255 | Rcpp::IntegerVector kastore_version() {
      |                     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:255:21: warning: function 'kastore_version' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  255 | Rcpp::IntegerVector kastore_version() {
      |                     ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:255:21: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  255 | Rcpp::IntegerVector kastore_version() {
      | ~~~~~~~~~~~~~~~~~~~ ^
      | auto                                  -> Rcpp::IntegerVector
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:257:57: warning: no header providing "KAS_VERSION_MAJOR" is directly included [misc-include-cleaner]
    5 |   return Rcpp::IntegerVector::create(Rcpp::_["major"] = KAS_VERSION_MAJOR,
      |                                                         ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:258:57: warning: no header providing "KAS_VERSION_MINOR" is directly included [misc-include-cleaner]
  258 |                                      Rcpp::_["minor"] = KAS_VERSION_MINOR,
      |                                                         ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:259:57: warning: no header providing "KAS_VERSION_PATCH" is directly included [misc-include-cleaner]
  259 |                                      Rcpp::_["patch"] = KAS_VERSION_PATCH);
      |                                                         ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:271:21: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  271 | Rcpp::IntegerVector tskit_version() {
      |                     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:271:21: warning: function 'tskit_version' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  271 | Rcpp::IntegerVector tskit_version() {
      |                     ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:271:21: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  271 | Rcpp::IntegerVector tskit_version() {
      | ~~~~~~~~~~~~~~~~~~~ ^
      | auto                                -> Rcpp::IntegerVector
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:272:57: warning: no header providing "TSK_VERSION_MAJOR" is directly included [misc-include-cleaner]
  272 |   return Rcpp::IntegerVector::create(Rcpp::_["major"] = TSK_VERSION_MAJOR,
      |                                                         ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:273:57: warning: no header providing "TSK_VERSION_MINOR" is directly included [misc-include-cleaner]
  273 |                                      Rcpp::_["minor"] = TSK_VERSION_MINOR,
      |                                                         ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:274:57: warning: no header providing "TSK_VERSION_PATCH" is directly included [misc-include-cleaner]
  274 |                                      Rcpp::_["patch"] = TSK_VERSION_PATCH);
      |                                                         ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:299:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  299 | SEXP rtsk_treeseq_load(const std::string &filename, const int options = 0) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:299:6: warning: function 'rtsk_treeseq_load' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  299 | SEXP rtsk_treeseq_load(const std::string &filename, const int options = 0) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:299:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:299:24: warning: 2 adjacent parameters of 'rtsk_treeseq_load' of similar type are easily swapped by mistake [bugprone-easily-swappable-parameters]
  299 | SEXP rtsk_treeseq_load(const std::string &filename, const int options = 0) {
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:299:43: note: the first parameter in the range is 'filename'
  299 | SEXP rtsk_treeseq_load(const std::string &filename, const int options = 0) {
      |                                           ^~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:299:63: note: the last parameter in the range is 'options'
  299 | SEXP rtsk_treeseq_load(const std::string &filename, const int options = 0) {
      |                                                               ^~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:299:53: note: 'const int &' and 'const int' parameters accept and bind the same kind of values
  299 | SEXP rtsk_treeseq_load(const std::string &filename, const int options = 0) {
      |                                                     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:299:53: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
  299 | SEXP rtsk_treeseq_load(const std::string &filename, const int options = 0) {
      |                                                     ^                 ~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:300:29: warning: 'validate_load_options' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  300 |   const tsk_flags_t flags = validate_load_options(options, "rtsk_treeseq_load");
      |                             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:33:13: note: resolves to this declaration
   33 | tsk_flags_t validate_load_options(const int options, const char *caller) {
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:302:3: warning: initializing non-owner 'tsk_treeseq_t *' with a newly created 'gsl::owner<>' [cppcoreguidelines-owning-memory]
  302 |   tsk_treeseq_t *ts_ptr = new tsk_treeseq_t(); // on heap, persists function
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:302:3: warning: use auto when initializing with new to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
  302 |   tsk_treeseq_t *ts_ptr = new tsk_treeseq_t(); // on heap, persists function
      |   ^~~~~~~~~~~~~
      |   auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:302:3: warning: no header providing "tsk_treeseq_t" is directly included [misc-include-cleaner]
    5 |   tsk_treeseq_t *ts_ptr = new tsk_treeseq_t(); // on heap, persists function
      |   ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:306:5: warning: 'tsk_treeseq_free' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  306 |     tsk_treeseq_free(ts_ptr);
      |     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/trees.h:448:5: note: resolves to this declaration
  448 | int tsk_treeseq_free(tsk_treeseq_t *self);
      |     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:306:5: warning: no header providing "tsk_treeseq_free" is directly included [misc-include-cleaner]
  306 |     tsk_treeseq_free(ts_ptr);
      |     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:307:5: warning: deleting a pointer through a type that is not marked 'gsl::owner<>'; consider using a smart pointer instead [cppcoreguidelines-owning-memory]
  307 |     delete ts_ptr;
      |     ^      ~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:302:3: note: variable declared here
  302 |   tsk_treeseq_t *ts_ptr = new tsk_treeseq_t(); // on heap, persists function
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:308:16: warning: 'tsk_strerror' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  308 |     Rcpp::stop(tsk_strerror(ret));
      |                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/core.h:972:13: note: resolves to this declaration
  972 | const char *tsk_strerror(int err);
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:308:16: warning: no header providing "tsk_strerror" is directly included [misc-include-cleaner]
  308 |     Rcpp::stop(tsk_strerror(ret));
      |                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:338:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  338 | SEXP rtsk_table_collection_load(const std::string &filename,
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:338:6: warning: function 'rtsk_table_collection_load' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  338 | SEXP rtsk_table_collection_load(const std::string &filename,
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:338:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:338:33: warning: 2 adjacent parameters of 'rtsk_table_collection_load' of similar type are easily swapped by mistake [bugprone-easily-swappable-parameters]
  338 | SEXP rtsk_table_collection_load(const std::string &filename,
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  339 |                                 const int options = 0) {
      |                                 ~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:338:52: note: the first parameter in the range is 'filename'
  338 | SEXP rtsk_table_collection_load(const std::string &filename,
      |                                                    ^~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:339:43: note: the last parameter in the range is 'options'
  339 |                                 const int options = 0) {
      |                                           ^~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:339:33: note: 'const int &' and 'const int' parameters accept and bind the same kind of values
  339 |                                 const int options = 0) {
      |                                 ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:339:33: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
  339 |                                 const int options = 0) {
      |                                 ^                 ~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:341:7: warning: 'validate_load_options' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  341 |       validate_load_options(options, "rtsk_table_collection_load");
      |       ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:33:13: note: resolves to this declaration
   33 | tsk_flags_t validate_load_options(const int options, const char *caller) {
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:342:3: warning: initializing non-owner 'tsk_table_collection_t *' with a newly created 'gsl::owner<>' [cppcoreguidelines-owning-memory]
  342 |   tsk_table_collection_t *tc_ptr = new tsk_table_collection_t();
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:342:3: warning: use auto when initializing with new to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
  342 |   tsk_table_collection_t *tc_ptr = new tsk_table_collection_t();
      |   ^~~~~~~~~~~~~~~~~~~~~~
      |   auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:342:3: warning: no header providing "tsk_table_collection_t" is directly included [misc-include-cleaner]
    5 |   tsk_table_collection_t *tc_ptr = new tsk_table_collection_t();
      |   ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:345:5: warning: 'tsk_table_collection_free' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  345 |     tsk_table_collection_free(tc_ptr);
      |     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/tables.h:3872:5: note: resolves to this declaration
 3872 | int tsk_table_collection_free(tsk_table_collection_t *self);
      |     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:345:5: warning: no header providing "tsk_table_collection_free" is directly included [misc-include-cleaner]
  345 |     tsk_table_collection_free(tc_ptr);
      |     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:346:5: warning: deleting a pointer through a type that is not marked 'gsl::owner<>'; consider using a smart pointer instead [cppcoreguidelines-owning-memory]
  346 |     delete tc_ptr;
      |     ^      ~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:342:3: note: variable declared here
  342 |   tsk_table_collection_t *tc_ptr = new tsk_table_collection_t();
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:347:16: warning: 'tsk_strerror' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  347 |     Rcpp::stop(tsk_strerror(ret));
      |                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/core.h:972:13: note: resolves to this declaration
  972 | const char *tsk_strerror(int err);
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:372:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  372 | void rtsk_treeseq_dump(const SEXP ts, const std::string &filename,
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:372:6: warning: function 'rtsk_treeseq_dump' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  372 | void rtsk_treeseq_dump(const SEXP ts, const std::string &filename,
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:372:24: warning: 3 adjacent parameters of 'rtsk_treeseq_dump' of similar type are easily swapped by mistake [bugprone-easily-swappable-parameters]
  372 | void rtsk_treeseq_dump(const SEXP ts, const std::string &filename,
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  373 |                        const int options = 0) {
      |                        ~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:372:35: note: the first parameter in the range is 'ts'
  372 | void rtsk_treeseq_dump(const SEXP ts, const std::string &filename,
      |                                   ^~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:373:34: note: the last parameter in the range is 'options'
  373 |                        const int options = 0) {
      |                                  ^~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:372:39: note: 'const int' and 'const int &' parameters accept and bind the same kind of values
  372 | void rtsk_treeseq_dump(const SEXP ts, const std::string &filename,
      |                                       ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:372:35: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  372 | void rtsk_treeseq_dump(const SEXP ts, const std::string &filename,
      |                                   ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:373:24: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
  373 |                        const int options = 0) {
      |                        ^                 ~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:374:29: warning: 'validate_options' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  374 |   const tsk_flags_t flags = validate_options(options, 0, "rtsk_treeseq_dump");
      |                             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:123:13: note: resolves to this declaration
  123 | tsk_flags_t validate_options(const int options, const tsk_flags_t supported,
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:378:16: warning: 'tsk_strerror' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  378 |     Rcpp::stop(tsk_strerror(ret));
      |                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/core.h:972:13: note: resolves to this declaration
  972 | const char *tsk_strerror(int err);
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:399:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  399 | void rtsk_table_collection_dump(const SEXP tc, const std::string &filename,
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:399:6: warning: function 'rtsk_table_collection_dump' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  399 | void rtsk_table_collection_dump(const SEXP tc, const std::string &filename,
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:399:33: warning: 3 adjacent parameters of 'rtsk_table_collection_dump' of similar type are easily swapped by mistake [bugprone-easily-swappable-parameters]
  399 | void rtsk_table_collection_dump(const SEXP tc, const std::string &filename,
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  400 |                                 const int options = 0) {
      |                                 ~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:399:44: note: the first parameter in the range is 'tc'
  399 | void rtsk_table_collection_dump(const SEXP tc, const std::string &filename,
      |                                            ^~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:400:43: note: the last parameter in the range is 'options'
  400 |                                 const int options = 0) {
      |                                           ^~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:399:48: note: 'const int' and 'const int &' parameters accept and bind the same kind of values
  399 | void rtsk_table_collection_dump(const SEXP tc, const std::string &filename,
      |                                                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:399:44: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
  399 | void rtsk_table_collection_dump(const SEXP tc, const std::string &filename,
      |                                            ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:400:33: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
  400 |                                 const int options = 0) {
      |                                 ^                 ~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:402:7: warning: 'validate_options' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  402 |       validate_options(options, 0, "rtsk_table_collection_dump");
      |       ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:123:13: note: resolves to this declaration
  123 | tsk_flags_t validate_options(const int options, const tsk_flags_t supported,
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:406:16: warning: 'tsk_strerror' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  406 |     Rcpp::stop(tsk_strerror(ret));
      |                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/core.h:972:13: note: resolves to this declaration
  972 | const char *tsk_strerror(int err);
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:434:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  434 | SEXP rtsk_treeseq_copy_tables(const SEXP ts, const int options = 0) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:434:6: warning: function 'rtsk_treeseq_copy_tables' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  434 | SEXP rtsk_treeseq_copy_tables(const SEXP ts, const int options = 0) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:434:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:434:31: warning: 2 adjacent parameters of 'rtsk_treeseq_copy_tables' of similar type ('const int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
  434 | SEXP rtsk_treeseq_copy_tables(const SEXP ts, const int options = 0) {
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:434:42: note: the first parameter in the range is 'ts'
  434 | SEXP rtsk_treeseq_copy_tables(const SEXP ts, const int options = 0) {
      |                                          ^~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:434:56: note: the last parameter in the range is 'options'
  434 | SEXP rtsk_treeseq_copy_tables(const SEXP ts, const int options = 0) {
      |                                                        ^~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:434:42: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  434 | SEXP rtsk_treeseq_copy_tables(const SEXP ts, const int options = 0) {
      |                                          ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:434:46: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
  434 | SEXP rtsk_treeseq_copy_tables(const SEXP ts, const int options = 0) {
      |                                              ^                 ~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:436:7: warning: 'validate_copy_tables_options' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  436 |       validate_copy_tables_options(options, "rtsk_treeseq_copy_tables");
      |       ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:61:13: note: resolves to this declaration
   61 | tsk_flags_t validate_copy_tables_options(const int options,
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:438:3: warning: initializing non-owner 'tsk_table_collection_t *' with a newly created 'gsl::owner<>' [cppcoreguidelines-owning-memory]
  438 |   tsk_table_collection_t *tc_ptr = new tsk_table_collection_t();
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:438:3: warning: use auto when initializing with new to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
  438 |   tsk_table_collection_t *tc_ptr = new tsk_table_collection_t();
      |   ^~~~~~~~~~~~~~~~~~~~~~
      |   auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:441:5: warning: 'tsk_table_collection_free' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  441 |     tsk_table_collection_free(tc_ptr);
      |     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/tables.h:3872:5: note: resolves to this declaration
 3872 | int tsk_table_collection_free(tsk_table_collection_t *self);
      |     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:442:5: warning: deleting a pointer through a type that is not marked 'gsl::owner<>'; consider using a smart pointer instead [cppcoreguidelines-owning-memory]
  442 |     delete tc_ptr;
      |     ^      ~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:438:3: note: variable declared here
  438 |   tsk_table_collection_t *tc_ptr = new tsk_table_collection_t();
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:443:16: warning: 'tsk_strerror' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  443 |     Rcpp::stop(tsk_strerror(ret));
      |                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/core.h:972:13: note: resolves to this declaration
  972 | const char *tsk_strerror(int err);
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:482:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  482 | SEXP rtsk_treeseq_init(const SEXP tc, const int options = 0) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:482:6: warning: function 'rtsk_treeseq_init' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  482 | SEXP rtsk_treeseq_init(const SEXP tc, const int options = 0) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:482:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:482:24: warning: 2 adjacent parameters of 'rtsk_treeseq_init' of similar type ('const int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
  482 | SEXP rtsk_treeseq_init(const SEXP tc, const int options = 0) {
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:482:35: note: the first parameter in the range is 'tc'
  482 | SEXP rtsk_treeseq_init(const SEXP tc, const int options = 0) {
      |                                   ^~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:482:49: note: the last parameter in the range is 'options'
  482 | SEXP rtsk_treeseq_init(const SEXP tc, const int options = 0) {
      |                                                 ^~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:482:35: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
  482 | SEXP rtsk_treeseq_init(const SEXP tc, const int options = 0) {
      |                                   ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:482:39: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
  482 | SEXP rtsk_treeseq_init(const SEXP tc, const int options = 0) {
      |                                       ^                 ~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:484:7: warning: 'validate_treeseq_init_options' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  484 |       validate_treeseq_init_options(options, "rtsk_treeseq_init");
      |       ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:93:13: note: resolves to this declaration
   93 | tsk_flags_t validate_treeseq_init_options(const int options,
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:486:3: warning: initializing non-owner 'tsk_treeseq_t *' with a newly created 'gsl::owner<>' [cppcoreguidelines-owning-memory]
  486 |   tsk_treeseq_t *ts_ptr = new tsk_treeseq_t();
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:486:3: warning: use auto when initializing with new to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
  486 |   tsk_treeseq_t *ts_ptr = new tsk_treeseq_t();
      |   ^~~~~~~~~~~~~
      |   auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:489:5: warning: 'tsk_treeseq_free' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  489 |     tsk_treeseq_free(ts_ptr);
      |     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/trees.h:448:5: note: resolves to this declaration
  448 | int tsk_treeseq_free(tsk_treeseq_t *self);
      |     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:490:5: warning: deleting a pointer through a type that is not marked 'gsl::owner<>'; consider using a smart pointer instead [cppcoreguidelines-owning-memory]
  490 |     delete ts_ptr;
      |     ^      ~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:486:3: note: variable declared here
  486 |   tsk_treeseq_t *ts_ptr = new tsk_treeseq_t();
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:491:16: warning: 'tsk_strerror' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
  491 |     Rcpp::stop(tsk_strerror(ret));
      |                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/core.h:972:13: note: resolves to this declaration
  972 | const char *tsk_strerror(int err);
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:535:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  535 | SEXP rtsk_treeseq_get_num_provenances(const SEXP ts) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:535:6: warning: function 'rtsk_treeseq_get_num_provenances' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  535 | SEXP rtsk_treeseq_get_num_provenances(const SEXP ts) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:535:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:535:50: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  535 | SEXP rtsk_treeseq_get_num_provenances(const SEXP ts) {
      |                                                  ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:546:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  546 | SEXP rtsk_treeseq_get_num_populations(const SEXP ts) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:546:6: warning: function 'rtsk_treeseq_get_num_populations' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  546 | SEXP rtsk_treeseq_get_num_populations(const SEXP ts) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:546:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:546:50: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  546 | SEXP rtsk_treeseq_get_num_populations(const SEXP ts) {
      |                                                  ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:557:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  557 | SEXP rtsk_treeseq_get_num_migrations(const SEXP ts) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:557:6: warning: function 'rtsk_treeseq_get_num_migrations' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  557 | SEXP rtsk_treeseq_get_num_migrations(const SEXP ts) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:557:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:557:49: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  557 | SEXP rtsk_treeseq_get_num_migrations(const SEXP ts) {
      |                                                 ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:568:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  568 | SEXP rtsk_treeseq_get_num_individuals(const SEXP ts) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:568:6: warning: function 'rtsk_treeseq_get_num_individuals' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  568 | SEXP rtsk_treeseq_get_num_individuals(const SEXP ts) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:568:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:568:50: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  568 | SEXP rtsk_treeseq_get_num_individuals(const SEXP ts) {
      |                                                  ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:580:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  580 | SEXP rtsk_treeseq_get_num_samples(const SEXP ts) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:580:6: warning: function 'rtsk_treeseq_get_num_samples' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  580 | SEXP rtsk_treeseq_get_num_samples(const SEXP ts) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:580:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:580:46: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  580 | SEXP rtsk_treeseq_get_num_samples(const SEXP ts) {
      |                                              ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:589:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  589 | SEXP rtsk_treeseq_get_num_nodes(const SEXP ts) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:589:6: warning: function 'rtsk_treeseq_get_num_nodes' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  589 | SEXP rtsk_treeseq_get_num_nodes(const SEXP ts) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:589:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:589:44: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  589 | SEXP rtsk_treeseq_get_num_nodes(const SEXP ts) {
      |                                            ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:598:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  598 | SEXP rtsk_treeseq_get_num_edges(const SEXP ts) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:598:6: warning: function 'rtsk_treeseq_get_num_edges' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  598 | SEXP rtsk_treeseq_get_num_edges(const SEXP ts) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:598:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:598:44: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  598 | SEXP rtsk_treeseq_get_num_edges(const SEXP ts) {
      |                                            ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:607:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  607 | SEXP rtsk_treeseq_get_num_trees(const SEXP ts) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:607:6: warning: function 'rtsk_treeseq_get_num_trees' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  607 | SEXP rtsk_treeseq_get_num_trees(const SEXP ts) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:607:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:607:44: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  607 | SEXP rtsk_treeseq_get_num_trees(const SEXP ts) {
      |                                            ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:616:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  616 | SEXP rtsk_treeseq_get_num_sites(const SEXP ts) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:616:6: warning: function 'rtsk_treeseq_get_num_sites' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  616 | SEXP rtsk_treeseq_get_num_sites(const SEXP ts) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:616:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:616:44: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  616 | SEXP rtsk_treeseq_get_num_sites(const SEXP ts) {
      |                                            ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:626:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  626 | SEXP rtsk_treeseq_get_num_mutations(const SEXP ts) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:626:6: warning: function 'rtsk_treeseq_get_num_mutations' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  626 | SEXP rtsk_treeseq_get_num_mutations(const SEXP ts) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:626:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:626:48: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  626 | SEXP rtsk_treeseq_get_num_mutations(const SEXP ts) {
      |                                                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:635:8: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  635 | double rtsk_treeseq_get_sequence_length(const SEXP ts) {
      |        ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:635:8: warning: function 'rtsk_treeseq_get_sequence_length' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  635 | double rtsk_treeseq_get_sequence_length(const SEXP ts) {
      |        ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:635:8: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  635 | double rtsk_treeseq_get_sequence_length(const SEXP ts) {
      | ~~~~~~ ^
      | auto                                                   -> double
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:635:52: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  635 | double rtsk_treeseq_get_sequence_length(const SEXP ts) {
      |                                                    ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:643:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  643 | bool rtsk_treeseq_get_discrete_genome(const SEXP ts) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:643:6: warning: function 'rtsk_treeseq_get_discrete_genome' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  643 | bool rtsk_treeseq_get_discrete_genome(const SEXP ts) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:643:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  643 | bool rtsk_treeseq_get_discrete_genome(const SEXP ts) {
      | ~~~~ ^
      | auto                                                 -> bool
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:643:50: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  643 | bool rtsk_treeseq_get_discrete_genome(const SEXP ts) {
      |                                                  ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:657:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  657 | bool rtsk_treeseq_has_reference_sequence(const SEXP ts) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:657:6: warning: function 'rtsk_treeseq_has_reference_sequence' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  657 | bool rtsk_treeseq_has_reference_sequence(const SEXP ts) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:657:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  657 | bool rtsk_treeseq_has_reference_sequence(const SEXP ts) {
      | ~~~~ ^
      | auto                                                    -> bool
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:657:53: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  657 | bool rtsk_treeseq_has_reference_sequence(const SEXP ts) {
      |                                                     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:666:7: warning: no header providing "Rcpp::String" is directly included [misc-include-cleaner]
    5 | Rcpp::String rtsk_treeseq_get_time_units(const SEXP ts) {
      |       ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:666:14: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  666 | Rcpp::String rtsk_treeseq_get_time_units(const SEXP ts) {
      |              ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:666:14: warning: function 'rtsk_treeseq_get_time_units' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  666 | Rcpp::String rtsk_treeseq_get_time_units(const SEXP ts) {
      |              ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:666:14: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  666 | Rcpp::String rtsk_treeseq_get_time_units(const SEXP ts) {
      | ~~~~~~~~~~~~ ^
      | auto                                                    -> Rcpp::String
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:666:53: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  666 | Rcpp::String rtsk_treeseq_get_time_units(const SEXP ts) {
      |                                                     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:668:15: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length]
  668 |   const char *p = tsk_treeseq_get_time_units(ts_xptr);
      |               ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:669:14: warning: variable name 'n' is too short, expected at least 3 characters [readability-identifier-length]
  669 |   tsk_size_t n = tsk_treeseq_get_time_units_length(ts_xptr);
      |              ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:670:8: warning: no header providing "std::string" is directly included [misc-include-cleaner]
  670 |   std::string time_units;
      |        ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:680:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  680 | bool rtsk_treeseq_get_discrete_time(const SEXP ts) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:680:6: warning: function 'rtsk_treeseq_get_discrete_time' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  680 | bool rtsk_treeseq_get_discrete_time(const SEXP ts) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:680:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  680 | bool rtsk_treeseq_get_discrete_time(const SEXP ts) {
      | ~~~~ ^
      | auto                                               -> bool
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:680:48: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  680 | bool rtsk_treeseq_get_discrete_time(const SEXP ts) {
      |                                                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:689:8: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  689 | double rtsk_treeseq_get_min_time(const SEXP ts) {
      |        ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:689:8: warning: function 'rtsk_treeseq_get_min_time' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  689 | double rtsk_treeseq_get_min_time(const SEXP ts) {
      |        ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:689:8: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  689 | double rtsk_treeseq_get_min_time(const SEXP ts) {
      | ~~~~~~ ^
      | auto                                            -> double
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:689:45: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  689 | double rtsk_treeseq_get_min_time(const SEXP ts) {
      |                                             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:698:8: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  698 | double rtsk_treeseq_get_max_time(const SEXP ts) {
      |        ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:698:8: warning: function 'rtsk_treeseq_get_max_time' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  698 | double rtsk_treeseq_get_max_time(const SEXP ts) {
      |        ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:698:8: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  698 | double rtsk_treeseq_get_max_time(const SEXP ts) {
      | ~~~~~~ ^
      | auto                                            -> double
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:698:45: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  698 | double rtsk_treeseq_get_max_time(const SEXP ts) {
      |                                             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:706:14: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  706 | Rcpp::String rtsk_treeseq_get_file_uuid(const SEXP ts) {
      |              ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:706:14: warning: function 'rtsk_treeseq_get_file_uuid' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  706 | Rcpp::String rtsk_treeseq_get_file_uuid(const SEXP ts) {
      |              ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:706:14: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  706 | Rcpp::String rtsk_treeseq_get_file_uuid(const SEXP ts) {
      | ~~~~~~~~~~~~ ^
      | auto                                                   -> Rcpp::String
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:706:52: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  706 | Rcpp::String rtsk_treeseq_get_file_uuid(const SEXP ts) {
      |                                                    ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:708:15: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length]
  708 |   const char *p = tsk_treeseq_get_file_uuid(ts_xptr);
      |               ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:712:10: warning: avoid repeating the return type from the declaration; use a braced initializer list instead [modernize-return-braced-init-list]
  712 |   return Rcpp::String(p);
      |          ^~~~~~~~~~~~~ ~
      |          {             }
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:712:23: warning: implicit conversion 'const char *' -> 'bool' [readability-implicit-bool-conversion]
  712 |   return Rcpp::String(p);
      |                       ^
      |                         != nullptr
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:770:7: warning: no header providing "Rcpp::List" is directly included [misc-include-cleaner]
  770 | Rcpp::List rtsk_treeseq_summary(const SEXP ts) {
      |       ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:770:12: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  770 | Rcpp::List rtsk_treeseq_summary(const SEXP ts) {
      |            ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:770:12: warning: function 'rtsk_treeseq_summary' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  770 | Rcpp::List rtsk_treeseq_summary(const SEXP ts) {
      |            ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:770:12: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  770 | Rcpp::List rtsk_treeseq_summary(const SEXP ts) {
      | ~~~~~~~~~~ ^
      | auto                                           -> Rcpp::List
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:770:44: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  770 | Rcpp::List rtsk_treeseq_summary(const SEXP ts) {
      |                                            ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:809:12: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  809 | Rcpp::List rtsk_treeseq_metadata_length(const SEXP ts) {
      |            ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:809:12: warning: function 'rtsk_treeseq_metadata_length' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  809 | Rcpp::List rtsk_treeseq_metadata_length(const SEXP ts) {
      |            ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:809:12: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  809 | Rcpp::List rtsk_treeseq_metadata_length(const SEXP ts) {
      | ~~~~~~~~~~ ^
      | auto                                                   -> Rcpp::List
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:809:52: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  809 | Rcpp::List rtsk_treeseq_metadata_length(const SEXP ts) {
      |                                                    ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:846:1: warning: missing username/bug in TODO [google-readability-todo]
  846 | // TODO: Metadata notes if we do anything with metadata #36
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): Metadata notes if we do anything with metadata #36
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:854:14: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  854 | Rcpp::String rtsk_treeseq_get_metadata(const SEXP ts) {
      |              ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:854:14: warning: function 'rtsk_treeseq_get_metadata' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  854 | Rcpp::String rtsk_treeseq_get_metadata(const SEXP ts) {
      |              ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:854:14: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
  854 | Rcpp::String rtsk_treeseq_get_metadata(const SEXP ts) {
      | ~~~~~~~~~~~~ ^
      | auto                                                  -> Rcpp::String
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:854:51: warning: parameter name 'ts' is too short, expected at least 3 characters [readability-identifier-length]
  854 | Rcpp::String rtsk_treeseq_get_metadata(const SEXP ts) {
      |                                                   ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:856:15: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length]
  856 |   const char *p = tsk_treeseq_get_metadata(ts_xptr);
      |               ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:857:14: warning: variable name 'n' is too short, expected at least 3 characters [readability-identifier-length]
  857 |   tsk_size_t n = tsk_treeseq_get_metadata_length(ts_xptr);
      |              ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:866:1: warning: missing username/bug in TODO [google-readability-todo]
  866 | // TODO: Metadata notes if we do anything with metadata #36
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): Metadata notes if we do anything with metadata #36
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:872:1: warning: missing username/bug in TODO [google-readability-todo]
  872 | // TODO: test the above function
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): test the above function
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:873:1: warning: missing username/bug in TODO [google-readability-todo]
  873 | // TODO: document the above function
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): document the above function
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:874:1: warning: missing username/bug in TODO [google-readability-todo]
  874 | // TODO: expose the above function to R, including TreeSequence method
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): expose the above function to R, including TreeSequence method
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:876:1: warning: missing username/bug in TODO [google-readability-todo]
  876 | // TODO: Develop tsk_treeseq_get_metadata
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): Develop tsk_treeseq_get_metadata
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:877:1: warning: missing username/bug in TODO [google-readability-todo]
  877 | // TODO: Metadata notes if we do anything with metadata #36
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): Metadata notes if we do anything with metadata #36
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:887:1: warning: missing username/bug in TODO [google-readability-todo]
  887 | // TODO: Metadata notes if we do anything with metadata #36
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): Metadata notes if we do anything with metadata #36
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:891:1: warning: missing username/bug in TODO [google-readability-todo]
  891 | // TODO: Metadata notes if we do anything with metadata #36
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): Metadata notes if we do anything with metadata #36
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:919:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  919 | SEXP rtsk_table_collection_get_num_provenances(const SEXP tc) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:919:6: warning: function 'rtsk_table_collection_get_num_provenances' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  919 | SEXP rtsk_table_collection_get_num_provenances(const SEXP tc) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:919:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:919:59: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
  919 | SEXP rtsk_table_collection_get_num_provenances(const SEXP tc) {
      |                                                           ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:930:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  930 | SEXP rtsk_table_collection_get_num_populations(const SEXP tc) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:930:6: warning: function 'rtsk_table_collection_get_num_populations' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  930 | SEXP rtsk_table_collection_get_num_populations(const SEXP tc) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:930:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:930:59: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
  930 | SEXP rtsk_table_collection_get_num_populations(const SEXP tc) {
      |                                                           ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:941:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  941 | SEXP rtsk_table_collection_get_num_migrations(const SEXP tc) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:941:6: warning: function 'rtsk_table_collection_get_num_migrations' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  941 | SEXP rtsk_table_collection_get_num_migrations(const SEXP tc) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:941:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:941:58: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
  941 | SEXP rtsk_table_collection_get_num_migrations(const SEXP tc) {
      |                                                          ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:951:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  951 | SEXP rtsk_table_collection_get_num_individuals(const SEXP tc) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:951:6: warning: function 'rtsk_table_collection_get_num_individuals' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  951 | SEXP rtsk_table_collection_get_num_individuals(const SEXP tc) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:951:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:951:59: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
  951 | SEXP rtsk_table_collection_get_num_individuals(const SEXP tc) {
      |                                                           ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:962:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  962 | SEXP rtsk_table_collection_get_num_nodes(const SEXP tc) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:962:6: warning: function 'rtsk_table_collection_get_num_nodes' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  962 | SEXP rtsk_table_collection_get_num_nodes(const SEXP tc) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:962:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:962:53: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
  962 | SEXP rtsk_table_collection_get_num_nodes(const SEXP tc) {
      |                                                     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:972:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  972 | SEXP rtsk_table_collection_get_num_edges(const SEXP tc) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:972:6: warning: function 'rtsk_table_collection_get_num_edges' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  972 | SEXP rtsk_table_collection_get_num_edges(const SEXP tc) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:972:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:972:53: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
  972 | SEXP rtsk_table_collection_get_num_edges(const SEXP tc) {
      |                                                     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:982:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  982 | SEXP rtsk_table_collection_get_num_sites(const SEXP tc) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:982:6: warning: function 'rtsk_table_collection_get_num_sites' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  982 | SEXP rtsk_table_collection_get_num_sites(const SEXP tc) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:982:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:982:53: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
  982 | SEXP rtsk_table_collection_get_num_sites(const SEXP tc) {
      |                                                     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:992:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
  992 | SEXP rtsk_table_collection_get_num_mutations(const SEXP tc) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:992:6: warning: function 'rtsk_table_collection_get_num_mutations' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
  992 | SEXP rtsk_table_collection_get_num_mutations(const SEXP tc) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:992:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:992:57: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
  992 | SEXP rtsk_table_collection_get_num_mutations(const SEXP tc) {
      |                                                         ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1001:8: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
 1001 | double rtsk_table_collection_get_sequence_length(const SEXP tc) {
      |        ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1001:8: warning: function 'rtsk_table_collection_get_sequence_length' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
 1001 | double rtsk_table_collection_get_sequence_length(const SEXP tc) {
      |        ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1001:8: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
 1001 | double rtsk_table_collection_get_sequence_length(const SEXP tc) {
      | ~~~~~~ ^
      | auto                                                            -> double
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1001:61: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
 1001 | double rtsk_table_collection_get_sequence_length(const SEXP tc) {
      |                                                             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1014:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
 1014 | bool rtsk_table_collection_has_reference_sequence(const SEXP tc) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1014:6: warning: function 'rtsk_table_collection_has_reference_sequence' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
 1014 | bool rtsk_table_collection_has_reference_sequence(const SEXP tc) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1014:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
 1014 | bool rtsk_table_collection_has_reference_sequence(const SEXP tc) {
      | ~~~~ ^
      | auto                                                             -> bool
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1014:62: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
 1014 | bool rtsk_table_collection_has_reference_sequence(const SEXP tc) {
      |                                                              ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1022:14: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
 1022 | Rcpp::String rtsk_table_collection_get_time_units(const SEXP tc) {
      |              ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1022:14: warning: function 'rtsk_table_collection_get_time_units' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
 1022 | Rcpp::String rtsk_table_collection_get_time_units(const SEXP tc) {
      |              ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1022:14: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
 1022 | Rcpp::String rtsk_table_collection_get_time_units(const SEXP tc) {
      | ~~~~~~~~~~~~ ^
      | auto                                                             -> Rcpp::String
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1022:62: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
 1022 | Rcpp::String rtsk_table_collection_get_time_units(const SEXP tc) {
      |                                                              ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1024:15: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length]
 1024 |   const char *p = tc_xptr->time_units;
      |               ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1025:14: warning: variable name 'n' is too short, expected at least 3 characters [readability-identifier-length]
 1025 |   tsk_size_t n = tc_xptr->time_units_length;
      |              ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1036:14: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
 1036 | Rcpp::String rtsk_table_collection_get_file_uuid(const SEXP tc) {
      |              ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1036:14: warning: function 'rtsk_table_collection_get_file_uuid' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
 1036 | Rcpp::String rtsk_table_collection_get_file_uuid(const SEXP tc) {
      |              ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1036:14: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
 1036 | Rcpp::String rtsk_table_collection_get_file_uuid(const SEXP tc) {
      | ~~~~~~~~~~~~ ^
      | auto                                                            -> Rcpp::String
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1036:61: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
 1036 | Rcpp::String rtsk_table_collection_get_file_uuid(const SEXP tc) {
      |                                                             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1047:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
 1047 | bool rtsk_table_collection_has_index(const SEXP tc, const int options = 0) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1047:6: warning: function 'rtsk_table_collection_has_index' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
 1047 | bool rtsk_table_collection_has_index(const SEXP tc, const int options = 0) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1047:6: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
 1047 | bool rtsk_table_collection_has_index(const SEXP tc, const int options = 0) {
      | ~~~~ ^
      | auto                                                                       -> bool
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1047:38: warning: 2 adjacent parameters of 'rtsk_table_collection_has_index' of similar type ('const int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
 1047 | bool rtsk_table_collection_has_index(const SEXP tc, const int options = 0) {
      |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1047:49: note: the first parameter in the range is 'tc'
 1047 | bool rtsk_table_collection_has_index(const SEXP tc, const int options = 0) {
      |                                                 ^~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1047:63: note: the last parameter in the range is 'options'
 1047 | bool rtsk_table_collection_has_index(const SEXP tc, const int options = 0) {
      |                                                               ^~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1047:49: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
 1047 | bool rtsk_table_collection_has_index(const SEXP tc, const int options = 0) {
      |                                                 ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1047:53: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
 1047 | bool rtsk_table_collection_has_index(const SEXP tc, const int options = 0) {
      |                                                     ^                 ~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1049:7: warning: 'validate_options' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
 1049 |       validate_options(options, 0, "rtsk_table_collection_has_index");
      |       ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:123:13: note: resolves to this declaration
  123 | tsk_flags_t validate_options(const int options, const tsk_flags_t supported,
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1072:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
 1072 | void rtsk_table_collection_build_index(const SEXP tc, const int options = 0) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1072:6: warning: function 'rtsk_table_collection_build_index' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
 1072 | void rtsk_table_collection_build_index(const SEXP tc, const int options = 0) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1072:40: warning: 2 adjacent parameters of 'rtsk_table_collection_build_index' of similar type ('const int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
 1072 | void rtsk_table_collection_build_index(const SEXP tc, const int options = 0) {
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1072:51: note: the first parameter in the range is 'tc'
 1072 | void rtsk_table_collection_build_index(const SEXP tc, const int options = 0) {
      |                                                   ^~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1072:65: note: the last parameter in the range is 'options'
 1072 | void rtsk_table_collection_build_index(const SEXP tc, const int options = 0) {
      |                                                                 ^~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1072:51: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
 1072 | void rtsk_table_collection_build_index(const SEXP tc, const int options = 0) {
      |                                                   ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1072:55: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
 1072 | void rtsk_table_collection_build_index(const SEXP tc, const int options = 0) {
      |                                                       ^                 ~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1074:7: warning: 'validate_options' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
 1074 |       validate_options(options, 0, "rtsk_table_collection_build_index");
      |       ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:123:13: note: resolves to this declaration
  123 | tsk_flags_t validate_options(const int options, const tsk_flags_t supported,
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1078:16: warning: 'tsk_strerror' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
 1078 |     Rcpp::stop(tsk_strerror(ret));
      |                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/core.h:972:13: note: resolves to this declaration
  972 | const char *tsk_strerror(int err);
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1098:6: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
 1098 | void rtsk_table_collection_drop_index(const SEXP tc, const int options = 0) {
      |      ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1098:6: warning: function 'rtsk_table_collection_drop_index' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
 1098 | void rtsk_table_collection_drop_index(const SEXP tc, const int options = 0) {
      |      ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1098:39: warning: 2 adjacent parameters of 'rtsk_table_collection_drop_index' of similar type ('const int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
 1098 | void rtsk_table_collection_drop_index(const SEXP tc, const int options = 0) {
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1098:50: note: the first parameter in the range is 'tc'
 1098 | void rtsk_table_collection_drop_index(const SEXP tc, const int options = 0) {
      |                                                  ^~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1098:64: note: the last parameter in the range is 'options'
 1098 | void rtsk_table_collection_drop_index(const SEXP tc, const int options = 0) {
      |                                                                ^~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1098:50: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
 1098 | void rtsk_table_collection_drop_index(const SEXP tc, const int options = 0) {
      |                                                  ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1098:54: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
 1098 | void rtsk_table_collection_drop_index(const SEXP tc, const int options = 0) {
      |                                                      ^                 ~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1100:7: warning: 'validate_options' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
 1100 |       validate_options(options, 0, "rtsk_table_collection_drop_index");
      |       ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:123:13: note: resolves to this declaration
  123 | tsk_flags_t validate_options(const int options, const tsk_flags_t supported,
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1107:16: warning: 'tsk_strerror' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
 1107 |     Rcpp::stop(tsk_strerror(ret));
      |                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/core.h:972:13: note: resolves to this declaration
  972 | const char *tsk_strerror(int err);
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1112:1: warning: missing username/bug in TODO [google-readability-todo]
 1112 | // TODO: Do we have to add TableCollection$sort() method? #99
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): Do we have to add TableCollection$sort() method? #99
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1115:1: warning: missing username/bug in TODO [google-readability-todo]
 1115 | // TODO: Do we need any other method on table collection to produce a valid
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): Do we need any other method on table collection to produce a valid
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1154:12: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
 1154 | Rcpp::List rtsk_table_collection_summary(const SEXP tc) {
      |            ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1154:12: warning: function 'rtsk_table_collection_summary' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
 1154 | Rcpp::List rtsk_table_collection_summary(const SEXP tc) {
      |            ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1154:12: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
 1154 | Rcpp::List rtsk_table_collection_summary(const SEXP tc) {
      | ~~~~~~~~~~ ^
      | auto                                                    -> Rcpp::List
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1154:53: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
 1154 | Rcpp::List rtsk_table_collection_summary(const SEXP tc) {
      |                                                     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1191:12: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
 1191 | Rcpp::List rtsk_table_collection_metadata_length(const SEXP tc) {
      |            ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1191:12: warning: function 'rtsk_table_collection_metadata_length' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
 1191 | Rcpp::List rtsk_table_collection_metadata_length(const SEXP tc) {
      |            ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1191:12: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
 1191 | Rcpp::List rtsk_table_collection_metadata_length(const SEXP tc) {
      | ~~~~~~~~~~ ^
      | auto                                                            -> Rcpp::List
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1191:61: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
 1191 | Rcpp::List rtsk_table_collection_metadata_length(const SEXP tc) {
      |                                                             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1227:1: warning: missing username/bug in TODO [google-readability-todo]
 1227 | // TODO: Metadata notes if we do anything with metadata #36
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): Metadata notes if we do anything with metadata #36
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1233:1: warning: missing username/bug in TODO [google-readability-todo]
 1233 | // TODO: test the above function
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): test the above function
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1234:1: warning: missing username/bug in TODO [google-readability-todo]
 1234 | // TODO: document the above function
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): document the above function
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1235:1: warning: missing username/bug in TODO [google-readability-todo]
 1235 | // TODO: expose the above function to R, including TableCollection method
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): expose the above function to R, including TableCollection method
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1237:1: warning: missing username/bug in TODO [google-readability-todo]
 1237 | // TODO: Develop rtsk_table_collection_metadata_schema
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): Develop rtsk_table_collection_metadata_schema
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1238:1: warning: missing username/bug in TODO [google-readability-todo]
 1238 | // TODO: Metadata notes if we do anything with metadata #36
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | // TODO(hbecher): Metadata notes if we do anything with metadata #36
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1292:5: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
 1292 | int rtsk_individual_table_add_row(
      |     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1292:5: warning: function 'rtsk_individual_table_add_row' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
 1292 | int rtsk_individual_table_add_row(
      |     ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1292:5: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
 1292 | int rtsk_individual_table_add_row(
      | ~~~ ^
      | auto
 1293 |     const SEXP tc, const int flags = 0,
 1294 |     const Rcpp::Nullable<Rcpp::NumericVector> location = R_NilValue,
 1295 |     const Rcpp::Nullable<Rcpp::IntegerVector> parents = R_NilValue,
 1296 |     const Rcpp::Nullable<Rcpp::RawVector> metadata = R_NilValue) {
      |                                                                  -> int
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1293:5: warning: 2 adjacent parameters of 'rtsk_individual_table_add_row' of similar type ('const int') are easily swapped by mistake [bugprone-easily-swappable-parameters]
 1293 |     const SEXP tc, const int flags = 0,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1293:16: note: the first parameter in the range is 'tc'
 1293 |     const SEXP tc, const int flags = 0,
      |                ^~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1293:30: note: the last parameter in the range is 'flags'
 1293 |     const SEXP tc, const int flags = 0,
      |                              ^~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1293:16: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
 1293 |     const SEXP tc, const int flags = 0,
      |                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1293:20: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
 1293 |     const SEXP tc, const int flags = 0,
      |                    ^               ~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1294:5: warning: 3 adjacent parameters of 'rtsk_individual_table_add_row' of similar type ('const Rcpp::Nullable<Rcpp::NumericVector>') are easily swapped by mistake [bugprone-easily-swappable-parameters]
 1294 |     const Rcpp::Nullable<Rcpp::NumericVector> location = R_NilValue,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1295 |     const Rcpp::Nullable<Rcpp::IntegerVector> parents = R_NilValue,
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1296 |     const Rcpp::Nullable<Rcpp::RawVector> metadata = R_NilValue) {
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1294:47: note: the first parameter in the range is 'location'
 1294 |     const Rcpp::Nullable<Rcpp::NumericVector> location = R_NilValue,
      |                                               ^~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1296:43: note: the last parameter in the range is 'metadata'
 1296 |     const Rcpp::Nullable<Rcpp::RawVector> metadata = R_NilValue) {
      |                                           ^~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1294:5: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
 1294 |     const Rcpp::Nullable<Rcpp::NumericVector> location = R_NilValue,
      |     ^                                                  ~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1294:32: warning: no header providing "Rcpp::NumericVector" is directly included [misc-include-cleaner]
 1294 |     const Rcpp::Nullable<Rcpp::NumericVector> location = R_NilValue,
      |                                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1295:5: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
 1295 |     const Rcpp::Nullable<Rcpp::IntegerVector> parents = R_NilValue,
      |     ^                                                 ~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1296:5: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
 1296 |     const Rcpp::Nullable<Rcpp::RawVector> metadata = R_NilValue) {
      |     ^                                              ~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1296:32: warning: no header providing "Rcpp::RawVector" is directly included [misc-include-cleaner]
 1296 |     const Rcpp::Nullable<Rcpp::RawVector> metadata = R_NilValue) {
      |                                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1300:9: warning: use auto when initializing with a cast to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
 1300 |   const tsk_flags_t row_flags = static_cast<tsk_flags_t>(flags);
      |         ^~~~~~~~~~~
      |         auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1306:9: warning: use auto when initializing with a cast to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
 1306 |   const tsk_size_t location_length =
      |         ^~~~~~~~~~
      |         auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1315:9: warning: use auto when initializing with a cast to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
 1315 |   const tsk_size_t parents_length = static_cast<tsk_size_t>(parents_vec.size());
      |         ^~~~~~~~~~
      |         auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1316:9: warning: no header providing "tsk_id_t" is directly included [misc-include-cleaner]
 1316 |   const tsk_id_t *parents_ptr =
      |         ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1321:9: warning: use auto when initializing with a cast to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
 1321 |   const tsk_size_t metadata_length =
      |         ^~~~~~~~~~
      |         auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1324:29: warning: do not use reinterpret_cast [cppcoreguidelines-pro-type-reinterpret-cast]
 1324 |       metadata_length > 0 ? reinterpret_cast<const char *>(RAW(metadata_vec))
      |                             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1331:16: warning: 'tsk_strerror' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
 1331 |     Rcpp::stop(tsk_strerror(row_id));
      |                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/core.h:972:13: note: resolves to this declaration
  972 | const char *tsk_strerror(int err);
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1357:5: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
 1357 | int rtsk_site_table_add_row(
      |     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1357:5: warning: function 'rtsk_site_table_add_row' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
 1357 | int rtsk_site_table_add_row(
      |     ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1357:5: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
 1357 | int rtsk_site_table_add_row(
      | ~~~ ^
      | auto
 1358 |     const SEXP tc, const double position = 0.0,
 1359 |     const Rcpp::Nullable<Rcpp::RawVector> ancestral_state = R_NilValue,
 1360 |     const Rcpp::Nullable<Rcpp::RawVector> metadata = R_NilValue) {
      |                                                                  -> int
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1358:5: warning: 2 adjacent parameters of 'rtsk_site_table_add_row' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters]
 1358 |     const SEXP tc, const double position = 0.0,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1358:16: note: the first parameter in the range is 'tc'
 1358 |     const SEXP tc, const double position = 0.0,
      |                ^~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1358:33: note: the last parameter in the range is 'position'
 1358 |     const SEXP tc, const double position = 0.0,
      |                                 ^~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1358:20: note: 'const int' and 'const double' may be implicitly converted: 'const int' (as 'int') -> 'const double' (as 'double'), 'const double' (as 'double') -> 'const int' (as 'int')
 1358 |     const SEXP tc, const double position = 0.0,
      |                    ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1358:16: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
 1358 |     const SEXP tc, const double position = 0.0,
      |                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1358:20: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
 1358 |     const SEXP tc, const double position = 0.0,
      |                    ^                     ~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1359:5: warning: 2 adjacent parameters of 'rtsk_site_table_add_row' of similar type ('const Rcpp::Nullable<Rcpp::RawVector>') are easily swapped by mistake [bugprone-easily-swappable-parameters]
 1359 |     const Rcpp::Nullable<Rcpp::RawVector> ancestral_state = R_NilValue,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1360 |     const Rcpp::Nullable<Rcpp::RawVector> metadata = R_NilValue) {
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1359:43: note: the first parameter in the range is 'ancestral_state'
 1359 |     const Rcpp::Nullable<Rcpp::RawVector> ancestral_state = R_NilValue,
      |                                           ^~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1360:43: note: the last parameter in the range is 'metadata'
 1360 |     const Rcpp::Nullable<Rcpp::RawVector> metadata = R_NilValue) {
      |                                           ^~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1359:5: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
 1359 |     const Rcpp::Nullable<Rcpp::RawVector> ancestral_state = R_NilValue,
      |     ^                                                     ~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1360:5: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
 1360 |     const Rcpp::Nullable<Rcpp::RawVector> metadata = R_NilValue) {
      |     ^                                              ~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1365:9: warning: use auto when initializing with a cast to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
 1365 |   const tsk_size_t ancestral_length =
      |         ^~~~~~~~~~
      |         auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1368:30: warning: do not use reinterpret_cast [cppcoreguidelines-pro-type-reinterpret-cast]
 1368 |       ancestral_length > 0 ? reinterpret_cast<const char *>(RAW(ancestral_vec))
      |                              ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1373:9: warning: use auto when initializing with a cast to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
 1373 |   const tsk_size_t metadata_length =
      |         ^~~~~~~~~~
      |         auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1376:29: warning: do not use reinterpret_cast [cppcoreguidelines-pro-type-reinterpret-cast]
 1376 |       metadata_length > 0 ? reinterpret_cast<const char *>(RAW(metadata_vec))
      |                             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1383:16: warning: 'tsk_strerror' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
 1383 |     Rcpp::stop(tsk_strerror(row_id));
      |                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/core.h:972:13: note: resolves to this declaration
  972 | const char *tsk_strerror(int err);
      |             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1415:5: warning: declaration must be enclosed within the 'LIBC_NAMESPACE_DECL' namespace [llvmlibc-implementation-in-namespace]
 1415 | int rtsk_mutation_table_add_row(
      |     ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1415:5: warning: function 'rtsk_mutation_table_add_row' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage]
 1415 | int rtsk_mutation_table_add_row(
      |     ^
      | static 
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1415:5: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
 1415 | int rtsk_mutation_table_add_row(
      | ~~~ ^
      | auto
 1416 |     const SEXP tc, const int site = 0, const int node = 0,
 1417 |     const int parent = -1, const double time = 0.0,
 1418 |     const Rcpp::Nullable<Rcpp::RawVector> derived_state = R_NilValue,
 1419 |     const Rcpp::Nullable<Rcpp::RawVector> metadata = R_NilValue) {
      |                                                                  -> int
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1416:5: warning: 5 adjacent parameters of 'rtsk_mutation_table_add_row' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters]
 1416 |     const SEXP tc, const int site = 0, const int node = 0,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1417 |     const int parent = -1, const double time = 0.0,
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1416:16: note: the first parameter in the range is 'tc'
 1416 |     const SEXP tc, const int site = 0, const int node = 0,
      |                ^~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1417:41: note: the last parameter in the range is 'time'
 1417 |     const int parent = -1, const double time = 0.0,
      |                                         ^~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1417:28: note: 'const int' and 'const double' may be implicitly converted: 'const int' (as 'int') -> 'const double' (as 'double'), 'const double' (as 'double') -> 'const int' (as 'int')
 1417 |     const int parent = -1, const double time = 0.0,
      |                            ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1416:16: warning: parameter name 'tc' is too short, expected at least 3 characters [readability-identifier-length]
 1416 |     const SEXP tc, const int site = 0, const int node = 0,
      |                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1416:20: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
 1416 |     const SEXP tc, const int site = 0, const int node = 0,
      |                    ^              ~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1416:40: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
 1416 |     const SEXP tc, const int site = 0, const int node = 0,
      |                                        ^              ~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1417:5: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
 1417 |     const int parent = -1, const double time = 0.0,
      |     ^                ~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1417:28: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
 1417 |     const int parent = -1, const double time = 0.0,
      |                            ^                 ~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1418:5: warning: 2 adjacent parameters of 'rtsk_mutation_table_add_row' of similar type ('const Rcpp::Nullable<Rcpp::RawVector>') are easily swapped by mistake [bugprone-easily-swappable-parameters]
 1418 |     const Rcpp::Nullable<Rcpp::RawVector> derived_state = R_NilValue,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1419 |     const Rcpp::Nullable<Rcpp::RawVector> metadata = R_NilValue) {
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1418:43: note: the first parameter in the range is 'derived_state'
 1418 |     const Rcpp::Nullable<Rcpp::RawVector> derived_state = R_NilValue,
      |                                           ^~~~~~~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1419:43: note: the last parameter in the range is 'metadata'
 1419 |     const Rcpp::Nullable<Rcpp::RawVector> metadata = R_NilValue) {
      |                                           ^~~~~~~~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1418:5: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
 1418 |     const Rcpp::Nullable<Rcpp::RawVector> derived_state = R_NilValue,
      |     ^                                                   ~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1419:5: warning: declaring a parameter with a default argument is disallowed [fuchsia-default-arguments-declarations]
 1419 |     const Rcpp::Nullable<Rcpp::RawVector> metadata = R_NilValue) {
      |     ^                                              ~
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1422:9: warning: use auto when initializing with a cast to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
 1422 |   const tsk_id_t site_id = static_cast<tsk_id_t>(site);
      |         ^~~~~~~~
      |         auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1423:9: warning: use auto when initializing with a cast to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
 1423 |   const tsk_id_t node_id = static_cast<tsk_id_t>(node);
      |         ^~~~~~~~
      |         auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1424:9: warning: use auto when initializing with a cast to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
 1424 |   const tsk_id_t parent_id = static_cast<tsk_id_t>(parent);
      |         ^~~~~~~~
      |         auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1428:9: warning: use auto when initializing with a cast to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
 1428 |   const tsk_size_t derived_length = static_cast<tsk_size_t>(derived_vec.size());
      |         ^~~~~~~~~~
      |         auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1430:28: warning: do not use reinterpret_cast [cppcoreguidelines-pro-type-reinterpret-cast]
 1430 |       derived_length > 0 ? reinterpret_cast<const char *>(RAW(derived_vec))
      |                            ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1435:9: warning: use auto when initializing with a cast to avoid duplicating the type name [hicpp-use-auto,modernize-use-auto]
 1435 |   const tsk_size_t metadata_length =
      |         ^~~~~~~~~~
      |         auto
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1438:29: warning: do not use reinterpret_cast [cppcoreguidelines-pro-type-reinterpret-cast]
 1438 |       metadata_length > 0 ? reinterpret_cast<const char *>(RAW(metadata_vec))
      |                             ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/src/RcppTskit.cpp:1445:16: warning: 'tsk_strerror' must resolve to a function declared within the namespace defined by the 'LIBC_NAMESPACE' macro [llvmlibc-callee-namespace]
 1445 |     Rcpp::stop(tsk_strerror(row_id));
      |                ^
/home/hbecher/git_repos/RcppTskit/RcppTskit/inst/include/tskit/tskit/core.h:972:13: note: resolves to this declaration
  972 | const char *tsk_strerror(int err);
      |             ^
/usr/include/stdlib.h:32:10: error: 'stddef.h' file not found [clang-diagnostic-error]
   32 | #include <stddef.h>
      |          ^~~~~~~~~~
Suppressed 136425 warnings (136425 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
Found compiler error(s).

check sync between cpp and hpp options and defaults.......................Passed
error: failed to push some refs to 'https://github.com/bryo-han/RcppTskit.git'

@gregorgorjanc
Copy link
Copy Markdown
Member Author

Whoaaa, that's indeed a lot :( Darn. The challenge is now to know what are real warnings to tidy up and what are just false positives. I suggest you switch off the clang-tidy for the purpose of PR and I see what I get reported on my end. OK?

@gregorgorjanc
Copy link
Copy Markdown
Member Author

We will find the best way forward with this dev setup;)

@LynxJinyangii
Copy link
Copy Markdown
Collaborator

I only tried the way using gh and everythings are working smoothly ;)

@gregorgorjanc
Copy link
Copy Markdown
Member Author

Excellent @LynxJinyangii! Can you confirm if you are seeing any clang-tidy issues that @bryo-han is experiencing?

@bryo-han
Copy link
Copy Markdown
Contributor

I have removed mention of clang-tidy from the devel instructions. I suggest we merge (pending checks will finish successfully).

@gregorgorjanc
Copy link
Copy Markdown
Member Author

@bryo-han not sure this is ideal (clang-tidy pointed me out about some code issues in the past), but I appreciate it can be a pain, so we should strike a balance. I am assuming that most of your warnings at #119 (comment) are false positives, but if they are not, then we should ensure we squash to the issues they point. Let me explore on my end again why I am not seeing all the warnings that you are seeing before we make a call.

@bryo-han
Copy link
Copy Markdown
Contributor

Sure think. As an alternative to the current setup, we could also:

  • add clang-tidy to a GH action, not as a pre-commit hook, or
  • we could require people to use a specific version in the pre-commit hook (which might be hard to install), or
  • we could make it non-blocking, or
  • we could use a different program like codespell/cppcheck

gregorgorjanc and others added 3 commits March 13, 2026 07:02
Removed clang-tidy from the list of tools and updated installation instructions for llvm tools in the README.
@gregorgorjanc gregorgorjanc force-pushed the gregorgorjanc/issue114 branch from 3ce7f85 to 7b9d052 Compare March 13, 2026 07:05
@gregorgorjanc
Copy link
Copy Markdown
Member Author

@bryo-han I have looked into the clang-tidy issues you reported. There were several mixed bits in there - two major are:

  1. Your setup showed that tools/clang-tidy.py was not picking Makevars from the package, which is why you saw all sorts of issues/warnings about tskit functions/types/... which I don't see on my end
  2. Without .clang-tidy we are exposed to the "mercy" of system-wide checks, some of which likely we don't want

I have added changes to this effect in this PR. I think that to make these changes testable for you, I will have to merge this PR into main, then you rebase your local work to the latest upstream/main and you report via new issue if you still see problems on your end. So, we might have the cake and eat it to (I hope).

@gregorgorjanc gregorgorjanc merged commit fea5853 into HighlanderLab:main Mar 13, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expand dev instructions to install the dev tools

4 participants