Use non-nullable parameters for operator == (#264)

The null value will never be passed to the equals operator
implementation. Widening the type causes any other class which
implements this interface to also widen the type.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 67b4d95..2787efd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+## 2.1.3
+
+- `operator ==` overrides no longer take nullable arguments. This is only
+  visible for classes that implement the interfaces defined in this package
+  which no longer need to also widen the argument type.
+
 ## 2.1.2
 
 - Fix to `Quad.copy` ([#221](https://github.com/google/vector_math.dart/issues/221))
diff --git a/lib/src/vector_math/matrix2.dart b/lib/src/vector_math/matrix2.dart
index 42dfb3f..1d2cceb 100644
--- a/lib/src/vector_math/matrix2.dart
+++ b/lib/src/vector_math/matrix2.dart
@@ -145,7 +145,7 @@
 
   /// Check if two matrices are the same.
   @override
-  bool operator ==(Object? other) =>
+  bool operator ==(Object other) =>
       (other is Matrix2) &&
       (_m2storage[0] == other._m2storage[0]) &&
       (_m2storage[1] == other._m2storage[1]) &&
diff --git a/lib/src/vector_math/matrix3.dart b/lib/src/vector_math/matrix3.dart
index 026e31a..befbb80 100644
--- a/lib/src/vector_math/matrix3.dart
+++ b/lib/src/vector_math/matrix3.dart
@@ -236,7 +236,7 @@
 
   /// Check if two matrices are the same.
   @override
-  bool operator ==(Object? other) =>
+  bool operator ==(Object other) =>
       (other is Matrix3) &&
       (_m3storage[0] == other._m3storage[0]) &&
       (_m3storage[1] == other._m3storage[1]) &&
diff --git a/lib/src/vector_math/matrix4.dart b/lib/src/vector_math/matrix4.dart
index f4c18ba..d0cdaf4 100644
--- a/lib/src/vector_math/matrix4.dart
+++ b/lib/src/vector_math/matrix4.dart
@@ -521,7 +521,7 @@
 
   /// Check if two matrices are the same.
   @override
-  bool operator ==(Object? other) =>
+  bool operator ==(Object other) =>
       (other is Matrix4) &&
       (_m4storage[0] == other._m4storage[0]) &&
       (_m4storage[1] == other._m4storage[1]) &&
diff --git a/lib/src/vector_math/vector2.dart b/lib/src/vector_math/vector2.dart
index 5881bb1..b12fdff 100644
--- a/lib/src/vector_math/vector2.dart
+++ b/lib/src/vector_math/vector2.dart
@@ -96,7 +96,7 @@
 
   /// Check if two vectors are the same.
   @override
-  bool operator ==(Object? other) =>
+  bool operator ==(Object other) =>
       (other is Vector2) &&
       (_v2storage[0] == other._v2storage[0]) &&
       (_v2storage[1] == other._v2storage[1]);
diff --git a/lib/src/vector_math/vector3.dart b/lib/src/vector_math/vector3.dart
index 2c4f373..c6eff4c 100644
--- a/lib/src/vector_math/vector3.dart
+++ b/lib/src/vector_math/vector3.dart
@@ -104,7 +104,7 @@
 
   /// Check if two vectors are the same.
   @override
-  bool operator ==(Object? other) =>
+  bool operator ==(Object other) =>
       (other is Vector3) &&
       (_v3storage[0] == other._v3storage[0]) &&
       (_v3storage[1] == other._v3storage[1]) &&
diff --git a/lib/src/vector_math/vector4.dart b/lib/src/vector_math/vector4.dart
index ee3b492..6ba88f3 100644
--- a/lib/src/vector_math/vector4.dart
+++ b/lib/src/vector_math/vector4.dart
@@ -124,7 +124,7 @@
 
   /// Check if two vectors are the same.
   @override
-  bool operator ==(Object? other) =>
+  bool operator ==(Object other) =>
       (other is Vector4) &&
       (_v4storage[0] == other._v4storage[0]) &&
       (_v4storage[1] == other._v4storage[1]) &&
diff --git a/lib/src/vector_math_64/matrix2.dart b/lib/src/vector_math_64/matrix2.dart
index 03a1212..f4b5403 100644
--- a/lib/src/vector_math_64/matrix2.dart
+++ b/lib/src/vector_math_64/matrix2.dart
@@ -145,7 +145,7 @@
 
   /// Check if two matrices are the same.
   @override
-  bool operator ==(Object? other) =>
+  bool operator ==(Object other) =>
       (other is Matrix2) &&
       (_m2storage[0] == other._m2storage[0]) &&
       (_m2storage[1] == other._m2storage[1]) &&
diff --git a/lib/src/vector_math_64/matrix3.dart b/lib/src/vector_math_64/matrix3.dart
index b17fc05..df20c0f 100644
--- a/lib/src/vector_math_64/matrix3.dart
+++ b/lib/src/vector_math_64/matrix3.dart
@@ -236,7 +236,7 @@
 
   /// Check if two matrices are the same.
   @override
-  bool operator ==(Object? other) =>
+  bool operator ==(Object other) =>
       (other is Matrix3) &&
       (_m3storage[0] == other._m3storage[0]) &&
       (_m3storage[1] == other._m3storage[1]) &&
diff --git a/lib/src/vector_math_64/matrix4.dart b/lib/src/vector_math_64/matrix4.dart
index 019954d..f427e8a 100644
--- a/lib/src/vector_math_64/matrix4.dart
+++ b/lib/src/vector_math_64/matrix4.dart
@@ -521,7 +521,7 @@
 
   /// Check if two matrices are the same.
   @override
-  bool operator ==(Object? other) =>
+  bool operator ==(Object other) =>
       (other is Matrix4) &&
       (_m4storage[0] == other._m4storage[0]) &&
       (_m4storage[1] == other._m4storage[1]) &&
diff --git a/lib/src/vector_math_64/vector2.dart b/lib/src/vector_math_64/vector2.dart
index d878fd1..5d953a7 100644
--- a/lib/src/vector_math_64/vector2.dart
+++ b/lib/src/vector_math_64/vector2.dart
@@ -96,7 +96,7 @@
 
   /// Check if two vectors are the same.
   @override
-  bool operator ==(Object? other) =>
+  bool operator ==(Object other) =>
       (other is Vector2) &&
       (_v2storage[0] == other._v2storage[0]) &&
       (_v2storage[1] == other._v2storage[1]);
diff --git a/lib/src/vector_math_64/vector3.dart b/lib/src/vector_math_64/vector3.dart
index 7298c13..7e190b7 100644
--- a/lib/src/vector_math_64/vector3.dart
+++ b/lib/src/vector_math_64/vector3.dart
@@ -104,7 +104,7 @@
 
   /// Check if two vectors are the same.
   @override
-  bool operator ==(Object? other) =>
+  bool operator ==(Object other) =>
       (other is Vector3) &&
       (_v3storage[0] == other._v3storage[0]) &&
       (_v3storage[1] == other._v3storage[1]) &&
diff --git a/lib/src/vector_math_64/vector4.dart b/lib/src/vector_math_64/vector4.dart
index 843c961..9faef2b 100644
--- a/lib/src/vector_math_64/vector4.dart
+++ b/lib/src/vector_math_64/vector4.dart
@@ -124,7 +124,7 @@
 
   /// Check if two vectors are the same.
   @override
-  bool operator ==(Object? other) =>
+  bool operator ==(Object other) =>
       (other is Vector4) &&
       (_v4storage[0] == other._v4storage[0]) &&
       (_v4storage[1] == other._v4storage[1]) &&
diff --git a/pubspec.yaml b/pubspec.yaml
index 3654ac2..ea1e74c 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: vector_math
-version: 2.1.2
+version: 2.1.3
 description: A Vector Math library for 2D and 3D applications.
 repository: https://github.com/google/vector_math.dart