diff --git a/lib/src/error_group.dart b/lib/src/error_group.dart
index 77a1c8db062af65b2c790a5041d55340323c21d4..be3d067b84a593c56b2ed966417b06e40205a100 100644
--- a/lib/src/error_group.dart
+++ b/lib/src/error_group.dart
@@ -188,7 +188,7 @@ class _ErrorGroupFuture<T> implements Future<T> {
     _completer.future.catchError((_) {});
   }
 
-  Future/*<S>*/ then/*<S>*/(/*=S*/ onValue(/*=T*/ value), {Function onError}) {
+  Future/*<S>*/ then/*<S>*/(onValue(/*=T*/ value), {Function onError}) {
     _hasListeners = true;
     return _completer.future.then(onValue, onError: onError);
   }
diff --git a/test/cache/repair/reinstalls_git_packages_test.dart b/test/cache/repair/reinstalls_git_packages_test.dart
index ba76337e9f961b8e546ffd0b42cb57050f28f978..b6e8af8fa02b6bbea8bfdbed997ca1b1375112db 100644
--- a/test/cache/repair/reinstalls_git_packages_test.dart
+++ b/test/cache/repair/reinstalls_git_packages_test.dart
@@ -28,7 +28,7 @@ main() {
     pubUpgrade();
 
     // Break them.
-    var fooDirs;
+    List fooDirs;
     schedule(() {
       // Find the cached foo packages for each revision.
       var gitCacheDir = path.join(sandboxDir, cachePath, "git");
diff --git a/test/dependency_computer/utils.dart b/test/dependency_computer/utils.dart
index d00dfb972824931ad8d4c1b9c1ca690b3f6694c1..f210ea99516419dd12242e0750951008e91dd525 100644
--- a/test/dependency_computer/utils.dart
+++ b/test/dependency_computer/utils.dart
@@ -76,7 +76,7 @@ void expectLibraryDependencies(String id, Iterable<String> expected) {
 /// the repo.
 PackageGraph _loadPackageGraph() {
   // Load the sandbox packages.
-  var packages = {};
+  var packages = <String, Package>{};
 
   var systemCache = new SystemCache(rootDir: p.join(sandboxDir, cachePath));
   systemCache.sources.setDefault('path');
diff --git a/test/descriptor.dart b/test/descriptor.dart
index ec7fea1e6c38d9ff6d4f3c8a57396e7cb72d398c..b55844c51c1d1adc8914fe8fd6d3a27d9c24340d 100644
--- a/test/descriptor.dart
+++ b/test/descriptor.dart
@@ -207,7 +207,7 @@ Descriptor packagesFile([Map<String, String> dependencies]) =>
 /// Describes a `.packages` file in the application directory, including the
 /// implicit entry for the app itself.
 Descriptor appPackagesFile(Map<String, String> dependencies) {
-  var copied = new Map.from(dependencies);
+  var copied = new Map<String, String>.from(dependencies);
   copied["myapp"] = ".";
   return dir(appPath, [packagesFile(copied)]);
 }
diff --git a/test/serve/caches_unchanged_assets.dart b/test/serve/caches_unchanged_assets.dart
index 848a4784233f5973eb15fe25bd72c0ef07e19186..0a803f84c6a69335b0cab6324f2730ed5b9cd5fa 100644
--- a/test/serve/caches_unchanged_assets.dart
+++ b/test/serve/caches_unchanged_assets.dart
@@ -20,7 +20,7 @@ main() {
     pubGet();
     pubServe();
 
-    var etag;
+    String etag;
     schedule(() async {
       var response = await scheduleRequest("file.txt");
       expect(response.statusCode, equals(200));
diff --git a/test/serve/does_not_cache_changed_asset.dart b/test/serve/does_not_cache_changed_asset.dart
index 1d9d03f86558a2f24f3df2c9cc83acb51bd0c936..9f31bcdb436161d9585a572b1163dc287860123a 100644
--- a/test/serve/does_not_cache_changed_asset.dart
+++ b/test/serve/does_not_cache_changed_asset.dart
@@ -20,7 +20,7 @@ main() {
     pubGet();
     pubServe();
 
-    var etag;
+    String etag;
     schedule(() async {
       var response = await scheduleRequest("file.txt");
       expect(response.statusCode, equals(200));
diff --git a/test/serve/utils.dart b/test/serve/utils.dart
index 9f95446353a64296777f9db7132a65bc2f3820bc..b432badeeff52d6ed02194c0ef6f2b16d405de27 100644
--- a/test/serve/utils.dart
+++ b/test/serve/utils.dart
@@ -347,7 +347,7 @@ void closeWebSocket() {
 /// This schedules the request, but doesn't block the schedule on the response.
 /// It returns the response as a [Future].
 Future<Map> webSocketRequest(String method, [Map params]) {
-  var completer = new Completer();
+  var completer = new Completer<Map>();
   schedule(() {
     return Future.wait([
       _ensureWebSocket(),