diff options
author | Zahary Karadjov <zahary@gmail.com> | 2018-09-18 17:05:52 +0300 |
---|---|---|
committer | Zahary Karadjov <zahary@gmail.com> | 2018-09-18 18:19:54 +0300 |
commit | 27734852da2f4982249ccb3ce48e7ba8d4d2f1c9 (patch) | |
tree | de44439e87443335c5d8877301f367256a29b4e8 | |
parent | 34f0b91104e6853b81c56a5fa68c29b49394b76e (diff) | |
download | Nim-27734852da2f4982249ccb3ce48e7ba8d4d2f1c9.tar.gz |
Implements the equals operator for openarray
-rw-r--r-- | lib/system.nim | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/system.nim b/lib/system.nim index 353500a4a..49e6a396d 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -2332,6 +2332,16 @@ proc `==`*[I, T](x, y: array[I, T]): bool = return result = true +proc `==`*[T](x, y: openarray[T]): bool = + if x.len != y.len: + return false + + for f in low(x)..high(x): + if x[f] != y[f]: + return false + + result = true + proc `@`*[T](a: openArray[T]): seq[T] = ## turns an openarray into a sequence. This is not as efficient as turning ## a fixed length array into a sequence as it always copies every element |