• Jason Rhinelander's avatar
    Support keyword-only arguments · be0d8045
    Jason Rhinelander authored
    This adds support for a `py::args_kw_only()` annotation that can be
    specified between `py::arg` annotations to indicate that any following
    arguments are keyword-only.  This allows you to write:
    
        m.def("f", [](int a, int b) { /* ... */ },
              py::arg("a"), py::args_kw_only(), py::arg("b"));
    
    and have it work like Python 3's:
    
        def f(a, *, b):
            # ...
    
    with respect to how `a` and `b` arguments are accepted (that is, `a` can
    be positional or by keyword; `b` can only be specified by keyword).
    be0d8045
functions.rst 23.6 KB