Remove iterable_contains_ and list_remove_unrelated_type rules
diff --git a/lib/src/analyzer.dart b/lib/src/analyzer.dart
index c89c9f7..d1fba40 100644
--- a/lib/src/analyzer.dart
+++ b/lib/src/analyzer.dart
@@ -51,6 +51,9 @@
 // todo(pq): remove when analyzer 5.5.0 is published.
 final Version dart2_12 = Version(2, 12, 0);
 
+/// A version describing Dart language version 3.1.0.
+final Version dart3_1 = Version(3, 1, 0);
+
 Future<Iterable<AnalysisErrorInfo>> lintFiles(
     DartLinter linter, List<File> filesToLint) async {
   // Setup an error watcher to track whether an error was logged to stderr so
diff --git a/lib/src/rules/iterable_contains_unrelated_type.dart b/lib/src/rules/iterable_contains_unrelated_type.dart
index 7471929..214078e 100644
--- a/lib/src/rules/iterable_contains_unrelated_type.dart
+++ b/lib/src/rules/iterable_contains_unrelated_type.dart
@@ -3,7 +3,6 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import '../analyzer.dart';
-import '../util/unrelated_types_visitor.dart';
 
 const _desc = r'Invocation of Iterable<E>.contains with references of unrelated'
     r' types.';
@@ -123,31 +122,13 @@
 
   IterableContainsUnrelatedType()
       : super(
-            name: 'iterable_contains_unrelated_type',
-            description: _desc,
-            details: _details,
-            group: Group.errors);
+          name: 'iterable_contains_unrelated_type',
+          description: _desc,
+          details: _details,
+          group: Group.errors,
+          state: State.removed(since: dart3_1),
+        );
 
   @override
   LintCode get lintCode => code;
-
-  @override
-  void registerNodeProcessors(
-      NodeLintRegistry registry, LinterContext context) {
-    var visitor = _Visitor(this, context.typeSystem, context.typeProvider);
-    registry.addMethodInvocation(this, visitor);
-  }
-}
-
-class _Visitor extends UnrelatedTypesProcessors {
-  _Visitor(super.rule, super.typeSystem, super.typeProvider);
-
-  @override
-  List<MethodDefinition> get methods => [
-        MethodDefinitionForElement(
-          typeProvider.iterableElement,
-          'contains',
-          ExpectedArgumentKind.assignableToCollectionTypeArgument,
-        )
-      ];
 }
diff --git a/lib/src/rules/list_remove_unrelated_type.dart b/lib/src/rules/list_remove_unrelated_type.dart
index db7c996..b845cba 100644
--- a/lib/src/rules/list_remove_unrelated_type.dart
+++ b/lib/src/rules/list_remove_unrelated_type.dart
@@ -3,7 +3,6 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import '../analyzer.dart';
-import '../util/unrelated_types_visitor.dart';
 
 const _desc = r'Invocation of `remove` with references of unrelated types.';
 
@@ -123,31 +122,13 @@
 
   ListRemoveUnrelatedType()
       : super(
-            name: 'list_remove_unrelated_type',
-            description: _desc,
-            details: _details,
-            group: Group.errors);
+          name: 'list_remove_unrelated_type',
+          description: _desc,
+          details: _details,
+          group: Group.errors,
+          state: State.removed(since: dart3_1),
+        );
 
   @override
   LintCode get lintCode => code;
-
-  @override
-  void registerNodeProcessors(
-      NodeLintRegistry registry, LinterContext context) {
-    var visitor = _Visitor(this, context.typeSystem, context.typeProvider);
-    registry.addMethodInvocation(this, visitor);
-  }
-}
-
-class _Visitor extends UnrelatedTypesProcessors {
-  _Visitor(super.rule, super.typeSystem, super.typeProvider);
-
-  @override
-  List<MethodDefinition> get methods => [
-        MethodDefinitionForElement(
-          typeProvider.listElement,
-          'remove',
-          ExpectedArgumentKind.assignableToCollectionTypeArgument,
-        ),
-      ];
 }