summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorZahary Karadjov <zahary@gmail.com>2018-09-18 17:05:52 +0300
committerZahary Karadjov <zahary@gmail.com>2018-09-18 18:19:54 +0300
commit27734852da2f4982249ccb3ce48e7ba8d4d2f1c9 (patch)
treede44439e87443335c5d8877301f367256a29b4e8
parent34f0b91104e6853b81c56a5fa68c29b49394b76e (diff)
downloadNim-27734852da2f4982249ccb3ce48e7ba8d4d2f1c9.tar.gz
Implements the equals operator for openarray
-rw-r--r--lib/system.nim10
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