pyrefly icon indicating copy to clipboard operation
pyrefly copied to clipboard

Support property.deleter - Known attribute labeled as unknown

Open guoci opened this issue 3 months ago • 1 comments

Describe the Bug

The hover text on the full_url attribute is (attribute) full_url: Unknown

import urllib.request
urllib.request.Request('http://example.com', method='GET').full_url
Image

This seem to happen on property attribute with setter and deleter.

Minimal reproducible example:

class A:
    @property
    def prop(self) -> int:
        return 42
    @prop.setter
    def prop(self, value: int) -> None:
        pass
    @prop.deleter
    def prop(self) -> None:
        pass

A().prop
Image

Sandbox Link

https://pyrefly.org/sandbox/?project=N4IgZglgNgpgziAXKOBDAdgEwEYHsAeAdAA4CeSIAxAAQDqMUAxrgLYzUAuunAFuwAqkATjDBRS1AMoYcBADS8IcakuqpqxVAHMYAHXQ0A7nxHVSuAK7VGGaoaEQOMBXB6pTM6rHfo1eCxycpMQQ6FoqvoIcPLjohPqUCdQAEjAeHtaWxLDUYDCoHBYiyrhgispoWHj4iEkAtNQA4jCBIqhQdRwQbEHE7Ix8jADWoeF5MDiow-XUAKpw7CIAbvlQAPocwTAAFACUnNyhcH2MgaF5QiKYvfAzMPh9DmzogYaOPLzsAJIAIgCiuXyhWKvAKdnYcAsxGIuCEgW2MEIWkIagCuGYLGyLWc1C0uE6%2BMwolCjggsQUMRWQgULUYuxmtAcTjUWGoQgskVI0VimSJ1EwEBEp3EETMliE1GwQlwhgWQn0%2BjA0pYvVGKkxsMCACp9N0YXDqEUoFAINhCCIAI4WeAcfSoVAAXiNJrNlutcA4hAASjArTbtgByHgcDjERAAenD91QmNghAxAYUbG5mAdAcafwAKgHdoQwBZjWsjfplqsNlttvbdiA5CAAtA4CRyIgqHMuibNrkOacyeg4AqsKJcrCWAU1ugLCxsGltjUIhx9nUAHzUD1CWq%2BahbkTA3xgXQgAByk%2Bn6%2BowHwAF8D-oayAyCIxKRCFwWFAKDRBI%2BRZVZPhMugkBaEUBS9vEBhSDA7DBqGcARuGD6iOIhCwloUboOGmDonA4bMIBEDAUIoGxOGw4SqgSyoNAqDYDkeFASBXQ8rgxBMX24FkNy6B1FScC9tQDrUAeADMhAAIwAEw3ugICXrWUxdCsABi0AwBQv7VE2slAA

(Only applicable for extension issues) IDE Information

No response

guoci avatar Nov 28 '25 19:11 guoci

I think we just don't understand the prop.deleter decorator

For starters, we need to add a special case here

https://github.com/facebook/pyrefly/blob/4d7c9c5cbae443579231b895d14ddf063d5031fd/pyrefly/lib/alt/attr.rs#L1312

yangdanny97 avatar Dec 01 '25 16:12 yangdanny97