1. 31 Oct, 2019 1 commit
    • Sebastian Gsänger's avatar
      test pair-copyability on C++17 upwards (#1886) · a83d69e7
      Sebastian Gsänger authored
      * test pair-copyability on C++17 upwards
      
      The stdlib falsely detects containers like M=std::map<T, U>
      as copyable, even when one of T and U is not copyable.
      Therefore we cannot rely on the stdlib dismissing std::pair<T, M>
      by itself, even on C++17.
      
      * fix is_copy_assignable
      
      bind_map used std::is_copy_assignable which suffers from the same problems
      as std::is_copy_constructible, therefore the same fix has been applied.
      
      * created tests for copyability
      a83d69e7
  2. 23 Oct, 2019 1 commit
  3. 22 Oct, 2019 2 commits
  4. 18 Oct, 2019 1 commit
  5. 17 Oct, 2019 1 commit
    • nicolov's avatar
      Fix build with -Wmissing-prototypes (#1954) · de5a29c0
      nicolov authored
      When building with `-Werror,-Wmissing-prototypes`, `clang` complains about missing prototypes for functions defined through macro expansions. This PR adds the missing prototypes.
      
      ```
      error: no previous prototype for function 'pybind11_init_impl_embedded' [
      -Werror,-Wmissing-prototypes]                                           
      PYBIND11_EMBEDDED_MODULE(embedded, mod) {                                             
      ^                                                                           
      external/pybind11/include/pybind11/embed.h:61:5: note: expanded from macro 'PYBIND11_EMBEDDED_MODULE'
          PYBIND11_EMBEDDED_MODULE_IMPL(name)                                       \
          ^                                                                         
      external/pybind11/include/pybind11/embed.h:26:23: note: expanded from macro 'PYBIND11_EMBEDDED_MODULE_IMPL'
            extern "C" void pybind11_init_impl_##name() {      \                  
                            ^                                             
      <scratch space>:380:1: note: expanded from here                     
      pybind11_init_impl_embedded                                                                                                                      
      ^                                                                                                                                                
      1 error generated.
      ```
      de5a29c0
  6. 14 Oct, 2019 2 commits
  7. 08 Oct, 2019 1 commit
    • Sergei Izmailov's avatar
      Adapt to python3.8 C API change (#1950) · 6cb584e9
      Sergei Izmailov authored
      * Adapt to python3.8 C API change
      
      Do `Py_DECREF(type)` on all python objects on deallocation
      
      fix #1946
      
      * Add bare python3.8 build to CI matrix
      
      While numpy/scipy wheels are available, run python3.8 test without them
      6cb584e9
  8. 06 Oct, 2019 1 commit
  9. 21 Sep, 2019 5 commits
  10. 20 Sep, 2019 5 commits
  11. 19 Sep, 2019 5 commits
  12. 04 Sep, 2019 1 commit
  13. 27 Aug, 2019 1 commit
  14. 23 Aug, 2019 1 commit
  15. 19 Aug, 2019 4 commits
  16. 16 Aug, 2019 3 commits
    • Sergei Lebedev's avatar
      046267c6
    • Sergei Lebedev's avatar
      Added set::contains and generalized dict::contains (#1884) · 08b0bda4
      Sergei Lebedev authored
      Dynamically resolving __contains__ on each call is wasteful since set
      has a public PySet_Contains function.
      08b0bda4
    • Vladimír Vondruš's avatar
      Fix -Wmissing-prototypes warning on Clang. (#1863) · 5b0ea77c
      Vladimír Vondruš authored
      The -Wmissing-prototypes Clang warning (or -Wmissing-declarations on
      GCC) is very useful to avoid accidents where a function definition in a
      source file doesn't match the corresponding declaration in a header
      file, as it would warn already during compilation and not much later
      during link time.
      
      Unfortunately this means that exported functions defined only in the
      source file (usually the ones annotated with `extern "C"`) will cause
      this warning to be emitted too (on Clang, GCC has a slightly different
      behavior with -Wmissing-declarations and doesn't warn here). This fixes
      the warning by providing a declaration right before the definition.
      5b0ea77c
  17. 15 Aug, 2019 2 commits
  18. 13 Aug, 2019 2 commits
  19. 27 Jul, 2019 1 commit