v0.2.18
This commit is contained in:
@@ -72,6 +72,7 @@ a ^ b
|
||||
```text
|
||||
OpPartialEqual<Lhs,Rhs>
|
||||
OpEqual<T>
|
||||
Equatable<T>
|
||||
```
|
||||
|
||||
### Exemple 9
|
||||
@@ -241,3 +242,21 @@ a < b && b < c
|
||||
## DO / DON'T / WHY / compiler error / edge cases
|
||||
|
||||
La couverture structurée de cette section sera enrichie au fur et à mesure de la fermeture des règles du chapitre. La migration `0.2.12` conserve volontairement les exemples historiques dans le chapitre afin de ne perdre aucun contexte normatif.
|
||||
|
||||
### Exemple 29 — `Equatable<T>` ne duplique pas `==`
|
||||
|
||||
```text
|
||||
interface Equatable<T> extends OpEqual<T> {
|
||||
}
|
||||
```
|
||||
|
||||
`Equatable<T>` sert de contrainte sémantique aux APIs génériques ; l'implémentation opérateur reste `OpEqual<T>`.
|
||||
|
||||
### Exemple 30 — floats
|
||||
|
||||
```text
|
||||
NaN == NaN // false selon IEEE
|
||||
+0.0 == -0.0 // true selon IEEE
|
||||
```
|
||||
|
||||
Les `float*` bruts ne satisfont donc pas directement `Equatable<float*>`.
|
||||
|
||||
Reference in New Issue
Block a user