##// END OF EJS Templates
rust-cpython: mark PySharedState as Sync so &'PySharedState can be Send...
rust-cpython: mark PySharedState as Sync so &'PySharedState can be Send The goal is to store &'static PySharedState in $leaked struct, which allows us to move the $leaked struct out of the macro. Currently, it depends on inner.$data_member(py), which can't be generalized. PySharedState is Sync because any mutation or read operation is synchronized by the Python GIL, py: Python<'a>, which should guarantee that &'PySharedState can be sent to another thread.

File last commit:

r34398:765eb17a default
r43445:a1908eb0 default
Show More
converters.py
24 lines | 531 B | text/x-python | PythonLexer
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 """
Commonly useful converters.
"""
from __future__ import absolute_import, division, print_function
def optional(converter):
"""
A converter that allows an attribute to be optional. An optional attribute
is one which can be set to ``None``.
:param callable converter: the converter that is used for non-``None``
values.
.. versionadded:: 17.1.0
"""
def optional_converter(val):
if val is None:
return None
return converter(val)
return optional_converter