From 27734852da2f4982249ccb3ce48e7ba8d4d2f1c9 Mon Sep 17 00:00:00 2001 From: Zahary Karadjov Date: Tue, 18 Sep 2018 17:05:52 +0300 Subject: Implements the equals operator for openarray --- lib/system.nim | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'lib/system.nim') 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 -- cgit 1.4.1-2-gfad0