Upgrade to release 2.8.0:
- Added :cpp:class:`nb::fallback <fallback>` wrapper type, which is
a :cpp:class:`nb::handle <handle>` that always requires implicit
conversion during casting. This is convenient when adding
catch-all overloads that must handle arbitrary Python objects,
without interfering with implicit conversion of arguments in
other overloads.
- The nanobind::literals namespace now includes _s to create a
Python string from source code literals.
- Added :cpp:func:`nb::dict::empty() <dict::empty>`,
:cpp:func:`nb::list::empty() <list::empty>`,
:cpp:func:`nb::set::empty() <set::empty>`,
and :cpp:func:`nb::tuple::empty() <tuple::empty>` convenience
methods.
- Added a :cpp:func:`nb::dict::get() <dict::get>` function to
perform dictionary lookups with a fallback value in case of
failures.
- Nanobind now uses multi-phase (as opposed to single-phase)
initialization API when registering modules. However,
multi-interpreter extensions remain unsupported.
- Added :cpp:class:`nb::frozenset` that wraps the Python frozenset
type.
- Miscellaneous fixes and improvements.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>