1. 03 May, 2019 1 commit
  2. 07 Apr, 2019 2 commits
  3. 06 Apr, 2019 1 commit
    • CI fixes (#1744) · ae951ca0
      * Fix warning that not including a cmake source or build dir will be a fatal error (it is now on newest CMakes)
          * Fixes appveyor
      * Travis uses CMake 3.9 for more than a year now
      * Travis dropped sudo: false in December
      * Dropping Sphinx 2
      - clang7: Suppress self-assign warnings; fix missing virtual dtors
      - pypy:
        - Keep old version (newer stuff breaks)
        - Pin packages to extra index for speed
      - travis:
        - Make docker explicit; remove docker if not needed
        - Make commands more verbose (for debugging / repro)
        - Make Ubuntu dist explicit per job
      - Fix Windows
      - Add names to travis
      Henry Schreiner committed
  4. 04 Feb, 2019 5 commits
  5. 03 Jan, 2019 3 commits
  6. 01 Dec, 2018 1 commit
  7. 20 Nov, 2018 1 commit
  8. 16 Nov, 2018 2 commits
  9. 13 Nov, 2018 1 commit
  10. 11 Nov, 2018 3 commits
  11. 09 Nov, 2018 3 commits
  12. 03 Nov, 2018 1 commit
  13. 01 Nov, 2018 1 commit
  14. 24 Oct, 2018 4 commits
  15. 14 Oct, 2018 1 commit
  16. 11 Oct, 2018 1 commit
  17. 10 Oct, 2018 1 commit
  18. 02 Oct, 2018 1 commit
  19. 27 Sep, 2018 1 commit
  20. 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
  21. 14 Sep, 2018 2 commits
  22. 11 Sep, 2018 3 commits
    • Info about inconsistent detection of Python version between pybind11 … (#1093) · ef13fb2e
      * Info about inconsistent detection of Python version between pybind11 and CMake in FAQ
      Semen Yesylevskyy committed
    • enum_: move most functionality to a non-template implementation · f4245181
      This commit addresses an inefficiency in how enums are created in
      pybind11. Most of the enum_<> implementation is completely generic --
      however, being a template class, it ended up instantiating vast amounts
      of essentially identical code in larger projects with many enums.
      
      This commit introduces a generic non-templated helper class that is
      compatible with any kind of enumeration. enum_ then becomes a thin
      wrapper around this new class.
      
      The new enum_<> API is designed to be 100% compatible with the old one.
      Wenzel Jakob committed
    • relax operator[] for tuples, lists, and sequences · b4b22924
      object_api::operator[] has a powerful overload for py::handle that can
      accept slices, tuples (for NumPy), etc.
      
      Lists, sequences, and tuples provide their own specialized operator[],
      which unfortunately disables this functionality. This is accidental, and
      the purpose of this commit is to re-enable the more general behavior.
      
      This commit is tangentially related to the previous one in that it makes
      py::handle/py::object et al. behave more like their Python counterparts.
      Wenzel Jakob committed