The following hack seems to repair the damage. Change:
def _set_proxied(const): if not hasattr(const, '__proxied'): const.__proxied = _CONST_PROXY[const.value.__class__] return const.__proxied
To:
def _set_proxied(const): const._proxied = _CONST_PROXY[const.value.__class__] return const._proxied
As you can see, there are two major changes to the code:
1. The code uses _proxied instead of __proxied.
I don't see any other uses of __proxied anywhere, so this would seem like what was originally intended, but there are absolutely no guarantees.
2. The code always sets const._proxied.
In my test, _set_proxied wasn't called often enough for this to be a concern. Presumably the GC can handle the "wasted" space.
*Warning*: I've just begun to test this. Please use caution. It will be good to hear reports from others about how this works for them.
The following hack seems to repair the damage. Change:
def _set_proxied( const):
const. __proxied = _CONST_ PROXY[const. value._ _class_ _]
if not hasattr(const, '__proxied'):
return const.__proxied
To:
def _set_proxied( const): PROXY[const. value._ _class_ _]
const._proxied = _CONST_
return const._proxied
As you can see, there are two major changes to the code:
1. The code uses _proxied instead of __proxied.
I don't see any other uses of __proxied anywhere,
so this would seem like what was originally intended,
but there are absolutely no guarantees.
2. The code always sets const._proxied.
In my test, _set_proxied wasn't called often enough for this to be a concern.
Presumably the GC can handle the "wasted" space.
*Warning*: I've just begun to test this. Please use caution. It will be good to hear reports from others about how this works for them.