David Mertz <david.me...@gmail.com> added the comment:
I've made the few additional changes to those in this PR. When I work out the issues, I'll make a new PR. I took out an attempt with `path_t`. However, here is why I think argument clinic (or something else?!) is actually intercepting the attempted call: With my temporary debugging, I have this function in `Modules/_gdbmmodule.c`: ```c [clinic start generated code]*/ static PyObject * dbmopen_impl(PyObject *module, PyObject *filename, const char *flags, int mode) /*[clinic end generated code: output=9527750f5df90764 input=812b7d74399ceb0e]*/ { PyObject_Print(filename, stdout, 0); printf(" from _gdbmmodule.c (XXX)\n"); /* ... rest of function ...*/ ``` And I have a very simplified test script: ```python import _gdbm import sys from pathlib import Path print(sys.version) path = '/tmp/tmp.db' db = _gdbm.open(path, 'c') print("Opened with string path") db.close() db = _gdbm.open(Path(path), 'c') print("Opened with path-like") db.close() ``` The output of running this is: ``` 3.11.0a0 (heads/[bpo-45133](https://bugs.python.org/issue45133)-dirty:0376feb030, Sep 8 2021, 00:39:39) [GCC 10.3.0] '/tmp/tmp.db' from _gdbmmodule.c (XXX) Opened with string path Traceback (most recent call last): File "/home/dmertz/tmp/pathlike-dbm.py", line 12, in <module> db = _gdbm.open(Path(path), 'c') ^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: open() argument 1 must be str, not PosixPath ``` So before I get to the first line of the _gdbm.open() function, the TypeError is already occurring when passed a PosixPath. ---------- nosy: +DavidMertz type: -> enhancement versions: +Python 3.11 -Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue40563> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com