1. Nov 12, 2018
  2. Sep 11, 2018
  3. Apr 29, 2018
  4. Feb 07, 2018
    • Wenzel Jakob's avatar
      mark release date in changelog · f117a48e
      Wenzel Jakob authored
      f117a48e
    • Jason Rhinelander's avatar
      Updated version/changelog for 2.2.2 · 19e90dc3
      Jason Rhinelander authored
      19e90dc3
    • Wenzel Jakob's avatar
      ebe16361
    • Jason Rhinelander's avatar
      MSVC workaround for broken `using detail::_` warning · f99f6851
      Jason Rhinelander authored
      Current MSVC generates totally bizarre errors:
      
          error C2884: 'pybind11::detail::_': introduced by using-declaration
          conflicts with local function 'pybind11::detail::_'
      
      which makes no sense (since the supposed "conflict" is the function
      itself).  Work around it by `using namespace detail;` instead (which
      also lets us drop a bunch of other `detail::` qualifications, so isn't
      actually a bad thing).
      f99f6851
    • Jason Rhinelander's avatar
      Use stricter brace initialization · c3d81d23
      Jason Rhinelander authored
      This updates the `py::init` constructors to only use brace
      initialization for aggregate initiailization if there is no constructor
      with the given arguments.
      
      This, in particular, fixes the regression in #1247 where the presence of
      a `std::initializer_list<T>` constructor started being invoked for
      constructor invocations in 2.2 even when there was a specific
      constructor of the desired type.
      
      The added test case demonstrates: without this change, it fails to
      compile because the `.def(py::init<std::vector<int>>())` constructor
      tries to invoke the `T(std::initializer_list<std::vector<int>>)`
      constructor rather than the `T(std::vector<int>)` constructor.
      
      By only using `new T{...}`-style construction when a `T(...)`
      constructor doesn't exist, we should bypass this by while still allowing
      `py::init<...>` to be used for aggregate type initialization (since such
      types, by definition, don't have a user-declared constructor).
      c3d81d23