Create a "Comparable" interface
- 主要言語
- Rust
- スター
- 22.3k
- フォーク
- 1.9k
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
This code:
``` javascript
/** @flow */
class Foo {
val: T;
lessThan(other: Foo) {
return this.val < other.val; // XXX flow doesn't like this comparison
}
}
```
produces the following error:
```
baderror.js:3:15,20: number
This type is incompatible with
baderror.js:7:12,31: string
baderror.js:3:22,27: string
This type is incompatible with
baderror.js:7:12,31: number
Found 2 errors
```
In most type systems, the `T` in `other: Foo` would be the same `T` as for the current class. This would result in number↔number and string↔string comparisons, but never number↔string.
Removing the `` in `other: Foo` makes the error go away, but now I have no confidence that Flow is actually checking anything.
コントリビューションガイド
評価
この issue はまだ評価されていません。