Version 2.1.0-dev.3.1

Cherry-pick bd9645abad40d14c8cd9197dfb5c9cc45b20e9d6 to dev
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 758e334..672fc842 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,12 @@
+## 2.1.0-dev.3.1
+
+### Tool Changes
+
+#### dartanalyzer
+
+* Fix a bug in analyzer by cherry-picking commit
+  bd9645abad40d14c8cd9197dfb5c9cc45b20e9d6
+
 ## 2.1.0-dev.3.0
 
 ### Core library changes
diff --git a/pkg/analyzer/lib/src/error/codes.dart b/pkg/analyzer/lib/src/error/codes.dart
index 4ca91e6..a38ea7e 100644
--- a/pkg/analyzer/lib/src/error/codes.dart
+++ b/pkg/analyzer/lib/src/error/codes.dart
@@ -2498,7 +2498,10 @@
               ' of the larger declaration signature');
 
   static const CompileTimeErrorCode FOR_IN_WITH_CONST_VARIABLE =
-      const CompileTimeErrorCode.fromFasta('FOR_IN_WITH_CONST_VARIABLE');
+      const CompileTimeErrorCode('FOR_IN_WITH_CONST_VARIABLE',
+          "A for-in loop-variable can't be 'const'.",
+          correction: "Try removing the 'const' modifier from the variable, or "
+              "use a different variable.");
 
   /**
    * It is a compile-time error if a generic function type is used as an actual
diff --git a/tools/VERSION b/tools/VERSION
index f2c3b69..dedc53a 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -28,4 +28,4 @@
 MINOR 1
 PATCH 0
 PRERELEASE 3
-PRERELEASE_PATCH 0
+PRERELEASE_PATCH 1