This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2020年05月22日 07:51 by scoder, last changed 2022年04月11日 14:59 by admin. This issue is now closed.
| Pull Requests | |||
|---|---|---|---|
| URL | Status | Linked | Edit |
| PR 20648 | merged | scoder, 2020年06月05日 07:45 | |
| PR 20683 | merged | miss-islington, 2020年06月06日 19:35 | |
| PR 20685 | merged | remi.lapeyre, 2020年06月07日 06:57 | |
| PR 20690 | merged | miss-islington, 2020年06月07日 07:08 | |
| Messages (5) | |||
|---|---|---|---|
| msg369561 - (view) | Author: Stefan Behnel (scoder) * (Python committer) | Date: 2020年05月22日 07:51 | |
As far as I can see it in typeslots.h [1], the buffer protocol is still not supported when using type specs: /* Disabled, see #10181 */ #undef Py_bf_getbuffer #undef Py_bf_releasebuffer It seems that the discussion in issue 10181 did not lead anywhere at the time (2010-2012). I'm not talking about the limited API or the stable ABI here, I'm talking about using type specs to define an extension type. The work-around is to manually set "PyTypeObject->tp_as_buffer" after creating the type, but since PyType_Ready() then does not see that struct pointer, you also still have to make sure that the type correctly inherits the slots from the base type if you're not defining all of them yourself. Can we just add support for the above slots? [1] https://github.com/python/cpython/blob/ca829102213c466ffecb1e464be5c8cb3967d961/Include/typeslots.h#L2-L4 |
|||
| msg370194 - (view) | Author: Petr Viktorin (petr.viktorin) * (Python committer) | Date: 2020年05月28日 11:35 | |
Yes, it should be possible to wrap them in #if so they aren't part of the stable ABI. |
|||
| msg370849 - (view) | Author: Stefan Behnel (scoder) * (Python committer) | Date: 2020年06月06日 19:35 | |
New changeset f7c4e236429606e1c982cacf24e10fc86ef4462f by scoder in branch 'master': bpo-40724: Support setting buffer slots from type specs (GH-20648) https://github.com/python/cpython/commit/f7c4e236429606e1c982cacf24e10fc86ef4462f |
|||
| msg370878 - (view) | Author: Stefan Behnel (scoder) * (Python committer) | Date: 2020年06月07日 07:06 | |
New changeset 1e4fa91104a03c44baa241326102cbec42d387f1 by Miss Islington (bot) in branch '3.9': bpo-40724: Support setting buffer slots from type specs (GH-20648) (GH-20683) https://github.com/python/cpython/commit/1e4fa91104a03c44baa241326102cbec42d387f1 |
|||
| msg370879 - (view) | Author: Stefan Behnel (scoder) * (Python committer) | Date: 2020年06月07日 07:28 | |
New changeset 1d711f2e31e02b2e9cbe4f109bf79541f56c35a2 by Miss Islington (bot) in branch '3.9': bpo-40724: Fix return type of test helper function heapctypewithbuffer_releasebuffer() (GH-20685) (GH-20690) https://github.com/python/cpython/commit/1d711f2e31e02b2e9cbe4f109bf79541f56c35a2 |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:59:31 | admin | set | github: 84901 |
| 2020年06月07日 07:29:43 | scoder | set | status: open -> closed resolution: fixed stage: patch review -> resolved |
| 2020年06月07日 07:28:11 | scoder | set | messages: + msg370879 |
| 2020年06月07日 07:08:37 | miss-islington | set | pull_requests: + pull_request19905 |
| 2020年06月07日 07:06:44 | scoder | set | messages: + msg370878 |
| 2020年06月07日 06:57:16 | remi.lapeyre | set | nosy:
+ remi.lapeyre pull_requests: + pull_request19904 |
| 2020年06月06日 19:35:34 | miss-islington | set | nosy:
+ miss-islington pull_requests: + pull_request19895 |
| 2020年06月06日 19:35:17 | scoder | set | messages: + msg370849 |
| 2020年06月05日 07:45:18 | scoder | set | keywords:
+ patch stage: patch review pull_requests: + pull_request19868 |
| 2020年05月28日 11:35:09 | petr.viktorin | set | messages: + msg370194 |
| 2020年05月22日 07:51:02 | scoder | create | |