Committed by
GitHub
Merge pull request #531 from roipeker/master
Rx equality fix
Showing
1 changed file
with
5 additions
and
1 deletions
| @@ -106,13 +106,17 @@ class _RxImpl<T> implements RxInterface<T> { | @@ -106,13 +106,17 @@ class _RxImpl<T> implements RxInterface<T> { | ||
| 106 | String toString() => value.toString(); | 106 | String toString() => value.toString(); | 
| 107 | 107 | ||
| 108 | /// This equality override works for _RxImpl instances and the internal values. | 108 | /// This equality override works for _RxImpl instances and the internal values. | 
| 109 | - bool operator ==(o) { | 109 | + @override | 
| 110 | + bool operator ==(dynamic o) { | ||
| 110 | // Todo, find a common implementation for the hashCode of different Types. | 111 | // Todo, find a common implementation for the hashCode of different Types. | 
| 111 | if (o is T) return _value == o; | 112 | if (o is T) return _value == o; | 
| 112 | if (o is _RxImpl<T>) return _value == o.value; | 113 | if (o is _RxImpl<T>) return _value == o.value; | 
| 113 | return false; | 114 | return false; | 
| 114 | } | 115 | } | 
| 115 | 116 | ||
| 117 | + @override | ||
| 118 | + int get hashCode => _value.hashCode; | ||
| 119 | + | ||
| 116 | void close() { | 120 | void close() { | 
| 117 | _subscriptions.forEach((observable, subscription) => subscription.cancel()); | 121 | _subscriptions.forEach((observable, subscription) => subscription.cancel()); | 
| 118 | _subscriptions.clear(); | 122 | _subscriptions.clear(); | 
- 
Please register or login to post a comment