Fix dot() signature to avoid an implicit copy constructor call.

That also fixes the build with Clang ToT compiler.

BUG=chromium:681912

Change-Id: I1449ee0f1f3f031d64af1a1f64f43808d2a8a1b1
Reviewed-on: https://chromium-review.googlesource.com/428903
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/common/vector_utils.h b/src/common/vector_utils.h
index 9789b3a..3eb7120 100644
--- a/src/common/vector_utils.h
+++ b/src/common/vector_utils.h
@@ -85,7 +85,7 @@
     // Other arithmetic operations
     Type length() const;
     Type lengthSquared() const;
-    Type dot(const VectorN &other) const;
+    Type dot(const VectorBase<Dimension, Type> &other) const;
     VectorN normalized() const;
 
   protected:
@@ -446,7 +446,7 @@
 }
 
 template <size_t Dimension, typename Type>
-Type VectorBase<Dimension, Type>::dot(const Vector<Dimension, Type> &other) const
+Type VectorBase<Dimension, Type>::dot(const VectorBase<Dimension, Type> &other) const
 {
     Type sum = Type();
     for (size_t i = 0; i < Dimension; ++i)