|  | // 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 | 
|  | } |