facebook / facebook/flow

$PropertyType lookups on class parameters allows variance abuse to sneak through class method checking

Open
#7,830 0 comments 1 reaction 0 assignees View on GitHub
bug Typing: property variance Typing: soundness
Dominant language
Rust
Stars
22.3k
Forks
1.9k
PR merge metrics
No merged PRs in 30d

Description

Flow version: v0.101.0

## Expected behavior
If I $PropertyType lookup a covariant property within a class parameter for a class method's parameter (a contravariant position), then Flow should error.

## Actual behavior
Flow accepts the method, leading to inconsistencies.

* Link to Try-Flow or Github repo: https://flow.org/try/#0MYGwhgzhAEDSA8BqAggLmgb0QD3QOwFcBbAIwFMAnaAH2ggBcKBLPAcwF8A+TAKGmkRh0yANx9o4gPSToAMRAB7AO50AFgoIgAJtApkAVmWD1o9VWWgAzBSEVKWrOk1Z4w9AnujlgYAhAtmFgAG2EHQCnjQQchhTDDACgBuYMxgePTiRAAUAA7oACQAChQKOZT0AJ4AKhVl8MgANNAARNjNnACU6IkKTDoY7DyDPKCQMAAy0GTY9GR4WjAIWLjQhKSUXLz82XmrxOQUXdA9fZiDwyBkJgDW6Es4+PuUNHSMDpsAvKtkKuNi1wA6bLNSBaSzNDoiaDSaBVVRxXQEdJMIgWEgERyqSB0QjAa6mVQlDGqHiknjSCmUqnUmk08kyOEWay2ZQOaBKBQUa4wHIlMoUEAVaGSem0sXiqmkyplWHQL7LR7rKi0BjMNjsMQjcBQaAADS20B2BWKpXK1VqZHgVSarXaRxO-XOpNGOoAmlMZnMFnqDUa9kr7b1HUMgA

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.