implement missing inequality on WeakSet
diff --git a/Lib/_weakrefset.py b/Lib/_weakrefset.py
index 43f9a6e..990c3a6 100644
--- a/Lib/_weakrefset.py
+++ b/Lib/_weakrefset.py
@@ -171,6 +171,12 @@
             return NotImplemented
         return self.data == set(ref(item) for item in other)
 
+    def __ne__(self, other):
+        opposite = self.__eq__(other)
+        if opposite is NotImplemented:
+            return NotImplemented
+        return not opposite
+
     def symmetric_difference(self, other):
         newset = self.copy()
         newset.symmetric_difference_update(other)
diff --git a/Lib/test/test_weakset.py b/Lib/test/test_weakset.py
index d9e091e..fb9e8d7 100644
--- a/Lib/test/test_weakset.py
+++ b/Lib/test/test_weakset.py
@@ -351,6 +351,12 @@
         self.assertFalse(self.s == tuple(self.items))
         self.assertFalse(self.s == 1)
 
+    def test_ne(self):
+        self.assertTrue(self.s != set(self.items))
+        s1 = WeakSet()
+        s2 = WeakSet()
+        self.assertFalse(s1 != s2)
+
     def test_weak_destroy_while_iterating(self):
         # Issue #7105: iterators shouldn't crash when a key is implicitly removed
         # Create new items to be sure no-one else holds a reference