From 80589625c76b4c774f10bd05d70bb260df3fe978 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Tue, 1 Mar 2022 12:42:52 -0500 Subject: [PATCH] ci: fix PyPy (#3768) * chore: minor fixes for newer PyPys * ci: fix issue with PyPy --- .github/workflows/ci.yml | 4 ++-- include/pybind11/detail/class.h | 14 +++++++------- include/pybind11/pybind11.h | 2 +- noxfile.py | 9 ++++----- 4 files changed, 14 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b52c30618..c244a5e6f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,8 +30,8 @@ jobs: - '3.6' - '3.9' - '3.10' - - 'pypy-3.7-v7.3.7' - - 'pypy-3.8-v7.3.7' + - 'pypy-3.7' + - 'pypy-3.8' # Items in here will either be added to the build matrix (if not # present), or add new keys to an existing matrix element if all the diff --git a/include/pybind11/detail/class.h b/include/pybind11/detail/class.h index ac92ddd63..0e06b94f1 100644 --- a/include/pybind11/detail/class.h +++ b/include/pybind11/detail/class.h @@ -101,14 +101,14 @@ inline PyTypeObject *make_static_property_type() { inline PyTypeObject *make_static_property_type() { auto d = dict(); PyObject *result = PyRun_String(R"(\ - class pybind11_static_property(property): - def __get__(self, obj, cls): - return property.__get__(self, cls, cls) +class pybind11_static_property(property): + def __get__(self, obj, cls): + return property.__get__(self, cls, cls) - def __set__(self, obj, value): - cls = obj if isinstance(obj, type) else type(obj) - property.__set__(self, cls, value) - )", + def __set__(self, obj, value): + cls = obj if isinstance(obj, type) else type(obj) + property.__set__(self, cls, value) +)", Py_file_input, d.ptr(), d.ptr()); diff --git a/include/pybind11/pybind11.h b/include/pybind11/pybind11.h index b95f31a60..2611f582d 100644 --- a/include/pybind11/pybind11.h +++ b/include/pybind11/pybind11.h @@ -334,7 +334,7 @@ protected: const std::type_info *const *types, size_t args) { // Do NOT receive `unique_rec` by value. If this function fails to move out the unique_ptr, - // we do not want this to destuct the pointer. `initialize` (the caller) still relies on + // we do not want this to destruct the pointer. `initialize` (the caller) still relies on // the pointee being alive after this call. Only move out if a `capsule` is going to keep // it alive. auto *rec = unique_rec.get(); diff --git a/noxfile.py b/noxfile.py index 8fe37eba0..4af40aa57 100644 --- a/noxfile.py +++ b/noxfile.py @@ -1,5 +1,6 @@ import nox +nox.needs_version = ">=2022.1.7" nox.options.sessions = ["lint", "tests", "tests_packaging"] PYTHON_VERSIONS = ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11"] @@ -24,14 +25,12 @@ def tests(session: nox.Session) -> None: session.install("-r", "tests/requirements.txt") session.run( "cmake", - "-S", - ".", - "-B", - tmpdir, + "-S.", + f"-B{tmpdir}", "-DPYBIND11_WERROR=ON", "-DDOWNLOAD_CATCH=ON", "-DDOWNLOAD_EIGEN=ON", - *session.posargs + *session.posargs, ) session.run("cmake", "--build", tmpdir) session.run("cmake", "--build", tmpdir, "--config=Release", "--target", "check")