Merge pull request #1973 from dart-lang/unused-deprecated-parameters
Allow unused parameters when they are deprecated
diff --git a/lib/src/rules/avoid_unused_constructor_parameters.dart b/lib/src/rules/avoid_unused_constructor_parameters.dart
index 0061680..ea15499 100644
--- a/lib/src/rules/avoid_unused_constructor_parameters.dart
+++ b/lib/src/rules/avoid_unused_constructor_parameters.dart
@@ -55,7 +55,9 @@
_ConstructorVisitor(this.rule, this.element)
: unusedParameters = element.parameters.parameters
- .where((p) => p.declaredElement is! FieldFormalParameterElement)
+ .where((p) =>
+ p.declaredElement is! FieldFormalParameterElement &&
+ !p.declaredElement.hasDeprecated)
.toSet();
@override
diff --git a/test/rules/avoid_unused_constructor_parameters.dart b/test/rules/avoid_unused_constructor_parameters.dart
index 9807ed1..5ebde5e 100644
--- a/test/rules/avoid_unused_constructor_parameters.dart
+++ b/test/rules/avoid_unused_constructor_parameters.dart
@@ -96,3 +96,7 @@
external N(int n); // OK
external factory N.named(int n); // OK
}
+
+class O {
+ O(@Deprecated('') int x); // OK because the parameter is deprecated
+}