tree 3a7afe13c0f2167889654f5b4d8697d2164ee972
parent 957846a887b3666785f062b910e13ebf458bce92
author Bob Nystrom <robert@stuffwithstuff.com> 1519868247 -0800
committer GitHub <noreply@github.com> 1519868247 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJal1lYCRBK7hj4Ov3rIwAAdHIIAEdXF/kcHqwB21lK/oWhetGx
 g4zHMheYyLsMgNipZNjRYIbxXkVXV35gfSDLdEX7YJdGyHJFsY40zoglz9Lv0fzZ
 e/4+Y3/5aR5Y+lbuFmn3kDj9HAw0ldkL0F/1vKQDbFRx0XCQh2c0sgCfEr8aLgXr
 8kCi23XwyAQfVyostwEl4mn00kMMiHLkMZP9u5ddjs1dqYivWiHZsGqEJpt2Xs1a
 1b8b0lgqCmoRiwW6xiYrdXfseJcNFg+c9p7/V7wPDpJz1p5abYdT4lNpPCP45GKW
 pX97JOKjDVKh9t8g0PMjCPBUkWs1fCLcS1xfYv0U2qwaBUmbC7MEBYO88Vd5+p0=
 =bPDs
 -----END PGP SIGNATURE-----
 

Fix runtime cast failures. (#57)

* Fix runtime cast failures.

In strong mode, a generic type instantiated with dynamic is not a
subtype of all types. You can't pass a List<dynamic> to something
expecting, say, List<int>.

These errors are usually detected statically, and most of those have
been fixed. However, sometimes this becomes a runtime cast, as in:

    main() {
      // Store a List<dynamic> in a variable of type dynamic.
      dynamic d = [];

      // Implicit runtime downcast from dynamic to List<String>.
      List<String> s = d;
    }

In order to ease the migration to strong mode, DDC has been ignoring
these cast failures when they involve certain commonly used types. We
are now in the process of actively fixing those errors.

More context: https://github.com/dart-lang/sdk/issues/27223

* Update SDK constraints.

* Use newer dev version of the SDK on Travis.

* Bump minimum SDK constraint.
