1. Sep 20, 2017
    • Jason Rhinelander's avatar
      Fix dtype string leak · c6a57c10
      Jason Rhinelander authored
      `PyArray_DescrConverter_` doesn't steal a reference to the argument,
      and so the passed arguments shouldn't be `.release()`d.
      c6a57c10
  2. Sep 16, 2017
    • Dean Moldovan's avatar
      Simplify function signature annotation and parsing · 0aef6422
      Dean Moldovan authored
      `type_descr` is now applied only to the final signature so that it only
      marks the argument types, but not nested types (e.g. for tuples) or
      return types.
      0aef6422
    • Dean Moldovan's avatar
      Use semi-constexpr signatures on MSVC · 56613945
      Dean Moldovan authored
      MSCV does not allow `&typeid(T)` in constexpr contexts, but the string
      part of the type signature can still be constexpr. In order to avoid
      `typeid` as long as possible, `descr` is modified to collect type
      information as template parameters instead of constexpr `typeid`.
      The actual `std::type_info` pointers are only collected in the end,
      as a `constexpr` (gcc/clang) or regular (MSVC) function call.
      
      Not only does it significantly reduce binary size on MSVC, gcc/clang
      benefit a little bit as well, since they can skip some intermediate
      `std::type_info*` arrays.
      56613945
    • Dean Moldovan's avatar
      Make it possible to generate constexpr signatures in C++11 mode · c10ac6cf
      Dean Moldovan authored
      The current C++14 constexpr signatures don't require relaxed constexpr,
      but only `auto` return type deduction. To get around this in C++11,
      the type caster's `name()` static member functions are turned into
      `static constexpr auto` variables.
      c10ac6cf
  3. Sep 14, 2017
  4. Sep 13, 2017
  5. Sep 12, 2017
    • Dean Moldovan's avatar
      Make TypeErrors more informative when an optional header is missing · 2b4477eb
      Dean Moldovan authored
      E.g. trying to convert a `list` to a `std::vector<int>` without
      including <pybind11/stl.h> will now raise an error with a note that
      suggests checking the headers.
      
      The note is only appended if `std::` is found in the function
      signature. This should only be the case when a header is missing.
      E.g. when stl.h is included, the signature would contain `List[int]`
      instead of `std::vector<int>` while using stl_bind.h would produce
      something like `MyVector`. Similarly for `std::map`/`Dict`, `complex`,
      `std::function`/`Callable`, etc.
      
      There's a possibility for false positives, but it's pretty low.
      2b4477eb
    • Gunnar Läthén's avatar
      c64e6b16
  6. Sep 11, 2017
  7. Sep 10, 2017
  8. Sep 08, 2017
    • Dean Moldovan's avatar
      Remove unused value assignment · 2d49aee4
      Dean Moldovan authored
      2d49aee4
    • Dean Moldovan's avatar
    • Dean Moldovan's avatar
      Move the style check/barebones config up to the first position on Travis · cdf38dc6
      Dean Moldovan authored
      This runs the most basic tests first and avoids waiting until the very
      end for style checks.
      
      [skip appveyor]
      cdf38dc6
    • Dean Moldovan's avatar
      Speed up Travis CI build (#1056) · b7c98d21
      Dean Moldovan authored
      * Update Python 3 osx image to xcode8.3 to speed up brew install. 
        The Python 2 osx image remains xcode7.3.
      
      * Have one osx config run in debug mode to improve coverage.
      
      * Only run CMake build tests on two configs to speed up overall build.
      
        The CMake tests take ~30 seconds on each configuration, but we really 
        only need to them to run on two: one on Linux and one on macOS. This
        mirrors the recent change on AppVeyor.
      
      * Merge the style/docs/pip tests with the barebones build.
      
      * Merge 32-bit and CMake install configurations.
      
        This removes clang 3.9 from testing, but there are already 3 other clang 
        versions being tested on Travis and the new xcode8.3 image should be 
        close to clang 3.9.
      
      [skip appveyor]
      b7c98d21
  9. Sep 07, 2017
  10. Sep 06, 2017
  11. Sep 05, 2017
  12. Sep 02, 2017
  13. Sep 01, 2017
  14. Aug 31, 2017
  15. Aug 30, 2017
  16. Aug 28, 2017