pyrefly icon indicating copy to clipboard operation
pyrefly copied to clipboard

[feature] disallow non-frozen dataclass from extending a frozen dataclass, and vice versa

Open yangdanny97 opened this issue 8 months ago • 0 comments

Describe the Bug

To check whether a class is a frozen dataclass based on metadata, do something like:

metadata.dataclass_metadata().is_some_and(|dataclass| dataclass.kws.is_set(&DataclassKeywords::FROZEN))

The check should probably go somewhere in this function or some helper called by it:

https://github.com/facebook/pyrefly/blob/c6a5b667065373cdad63e3fbadaba1baa0675998/pyrefly/lib/alt/class/class_metadata.rs#L150

Once this is done, please add a test to: https://github.com/facebook/pyrefly/blob/main/pyrefly/lib/test/dataclasses.rs

Sandbox Link

No response

(Only applicable for extension issues) IDE Information

No response

yangdanny97 avatar May 31 '25 21:05 yangdanny97