gh-36488: Fix func_persist: do not use the (now removed) inspect.formatargspec, but instead use inspect.signature.
Fix func_persist: do not use inspect.formatargspec (gone as of Python
3.11)
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes #1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->
The method `inspect.formatargspec` has been deprecated since Python 3.5,
now removed as of 3.11. `func_persist` still uses it, so we replace it
with `inspect.signature`.
Another option would be to replace it with
`sageinspect.sage_formatargspec`. I think that func_persist should only
be used with Python functions, not Cython, and `inspect.signature` is
nicer for Python functions. If the function is defined as `def test(n:
int) -> int:`, For example, then `inspect.signature` will return `(n:
int) -> int` while `sageinspect.sage_formatargspec` will just return
`(n)`.
This should fix #36302.
<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes #12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->
### :memo: Checklist
<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->
- [X] The title is concise, informative, and self-explanatory.
- [X] The description explains in detail what this PR is about.
- [X] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.
### :hourglass: Dependencies
<!-- List all open PRs that this PR logically depends on
- #12345: short description why this is a dependency
- #34567: ...
-->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
URL: https://github.com/sagemath/sage/pull/36488
Reported by: John H. Palmieri
Reviewer(s): balejk