This resolves #1589. It updates the MRO for PyProxy: now `proxy.destroy` always refers to the method PyProxy class method that destroys the proxy, `proxy.$destroy` refers to an attribute or method on the proxied Python object. Similarly, `proxy.get` refers to the `PyProxy.get` method if `type(proxy)` has a `__getitem__` method. Otherwise, it refers to an attribute or method on the proxied object. To unambigiously look up `get` on the proxied object, use `proxy.$get`.

The docs should be updated to explain this.
ENH Use leading $ to distinguish shadowed PyProxy methods. This resolves #1589. It updates the MRO for PyProxy: now `proxy.destroy` always refers to the method PyProxy class method that destroys the proxy, `proxy.$destroy` refers to an attribute or method on the proxied Python object. Similarly, `proxy.get` refers to the `PyProxy.get` method if `type(proxy)` has a `__getitem__` method. Otherwise, it refers to an attribute or method on the proxied object. To unambigiously look up `get` on the proxied object, use `proxy.$get`.

The docs should be updated to explain this.
package:
  name: pytest
  version: 3.6.3

source:
  url: https://files.pythonhosted.org/packages/55/50/399419c03c39bf41faa7cbd5a8976c076037b2d76adf2535610919806d67/pytest-3.6.3.tar.gz
  md5: 8ca6124a3a80f9555c50f5c09056ea02

  patches:
    - patches/named-tmp-and-rm-dup2.patch

requirements:
  run:
    - atomicwrites
    - attrs
    - more-itertools
    - pluggy
    - py
    - setuptools
    - six

test:
  imports:
    - pytest

package:
  name: pytest
  version: 3.6.3

source:
  url: https://files.pythonhosted.org/packages/55/50/399419c03c39bf41faa7cbd5a8976c076037b2d76adf2535610919806d67/pytest-3.6.3.tar.gz
  md5: 8ca6124a3a80f9555c50f5c09056ea02

  patches:
    - patches/named-tmp-and-rm-dup2.patch

requirements:
  run:
    - atomicwrites
    - attrs
    - more-itertools
    - pluggy
    - py
    - setuptools
    - six

test:
  imports:
    - pytest
