1. 11 Nov, 2018 2 commits
  2. 09 Nov, 2018 3 commits
  3. 03 Nov, 2018 1 commit
  4. 01 Nov, 2018 1 commit
  5. 24 Oct, 2018 4 commits
  6. 14 Oct, 2018 1 commit
  7. 11 Oct, 2018 1 commit
  8. 10 Oct, 2018 1 commit
  9. 02 Oct, 2018 1 commit
  10. 27 Sep, 2018 1 commit
  11. 25 Sep, 2018 1 commit
    • Fix potential crash when calling an overloaded function (#1327) · e7761e33
      * Fix potential crash when calling an overloaded function
      
      The crash would occur if:
      - dispatcher() uses two-pass logic (because the target is overloaded and some arguments support conversions)
      - the first pass (with conversions disabled) doesn't find any matching overload
      - the second pass does find a matching overload, but its return value can't be converted to Python
      
      The code for formatting the error message assumed `it` still pointed to the selected overload,
      but during the second-pass loop `it` was nullptr. Fix by setting `it` correctly if a second-pass
      call returns a nullptr `handle`. Add a new test that segfaults without this fix.
      
      * Make overload iteration const-correct so we don't have to iterate again on second-pass error
      
      * Change test_error_after_conversions dependencies to local classes/variables
      oremanj committed
  12. 14 Sep, 2018 2 commits
  13. 11 Sep, 2018 8 commits
  14. 08 Sep, 2018 1 commit
  15. 29 Aug, 2018 4 commits
  16. 28 Aug, 2018 4 commits
  17. 19 Jul, 2018 1 commit
    • Fix compatibility with catch v2 · f7bc18f5
      Catch v2 changed the `run(...)` signature to take a `char *argv[]`,
      arguing partly that technically a `char *argv[]` type is the correct
      `main()` signature rather than `const char *argv[]`.
      
      Dropping the `const` here doesn't appear to cause any problems with
      catch v1 (tested against both the cmake-downloaded 1.9.3 and Debian's
      1.12.1 package) so we can follow suit.
      Jason Rhinelander committed
  18. 17 Jul, 2018 3 commits
    • stl.h: propagate return value policies to type-specific casters (#1455) · cbd16a82
      * stl.h: propagate return value policies to type-specific casters
      
      Return value policies for containers like those handled in in 'stl.h'
      are currently broken.
      
      The problem is that detail::return_value_policy_override<C>::policy()
      always returns 'move' when given a non-pointer/reference type, e.g.
      'std::vector<...>'.
      
      This is sensible behavior for custom types that are exposed via
      'py::class_<>', but it does not make sense for types that are handled by
      other type casters (STL containers, Eigen matrices, etc.).
      
      This commit changes the behavior so that
      detail::return_value_policy_override only becomes active when the type
      caster derives from type_caster_generic.
      
      Furthermore, the override logic is called recursively in STL type
      casters to enable key/value-specific behavior.
      Wenzel Jakob committed
    • Switching deprecated Thread Local Storage (TLS) usage in Python 3.7 to Thread… · b4719a60
      Switching deprecated Thread Local Storage (TLS) usage in Python 3.7 to Thread Specific Storage (TSS) (#1454)
      
      * Switching deprecated Thread Local Storage (TLS) usage in Python 3.7 to Thread Specific Storage (TSS)
      
      * Changing Python version from 3.6 to 3.7 for Travis CI, to match brew's version of Python 3
      
      * Introducing PYBIND11_ macros to switch between TLS and TSS API
      Yannick Jadoul committed