// Formatted problems:
//
// pkg/front_end/testcases/inference/generic_methods_inference_error.dart:13:11: Error: A value of type 'dart.core::double' can't be assigned to a variable of type 'dart.core::String'.
// Try changing the type of the left hand side, or casting the right hand side to 'dart.core::String'.
//           1.0);
//           ^

library test;
import self as self;
import "dart:core" as core;

static method f() → void {
  core::List<core::String> y;
  core::Iterable<core::String> x = y.{core::Iterable::map}<core::String>((core::String z) → core::String => let dynamic _ = null in let final dynamic #t1 = let dynamic _ = null in invalid-expression "pkg/front_end/testcases/inference/generic_methods_inference_error.dart:13:11: Error: A value of type 'dart.core::double' can't be assigned to a variable of type 'dart.core::String'.
Try changing the type of the left hand side, or casting the right hand side to 'dart.core::String'.
          1.0);
          ^" in let final dynamic #t2 = 1.0 in null);
}
static method main() → dynamic {}
