| // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | |
| // for details. All rights reserved. Use of this source code is governed by a | |
| // BSD-style license that can be found in the LICENSE file. | |
| // Formatting can break multitests, so don't format them. | |
| // dart format off | |
| /// Test that inlining of constructors with `double` as type argument registers | |
| /// that double is need for checking passed values. | |
| class C<T> implements D<T> { | |
| T a; | |
| C.gen(this.a); | |
| } | |
| class D<T> { | |
| factory D.fact(T a) => new C<T>.gen(a); | |
| } | |
| main() { | |
| new C<double>.gen(0.5); //# 01: ok | |
| new D<double>.fact(0.5); //# 02: ok | |
| <double>[].add(0.5); //# 03: ok | |
| <int, double>{}[0] = 0.5; //# 04: ok | |
| } |