Create a "Comparable" interface
- Lenguaje dominante
- Rust
- Estrellas
- 22.3k
- Forks
- 1.9k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
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.
Guía de contribución
Evaluación
Este issue todavía no se ha evaluado.