| Index: pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.direct.expect | 
| diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.direct.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.direct.expect | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..4e584a35bbceb208eb7ecdbcc771a5bea97ae7d5 | 
| --- /dev/null | 
| +++ b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.direct.expect | 
| @@ -0,0 +1,54 @@ | 
| +library test; | 
| +import self as self; | 
| +import "dart:core" as core; | 
| + | 
| +class F0<T extends core::Object> extends core::Object { | 
| +  constructor •(core::List<self::F0::T> a) → void | 
| +    : super core::Object::•() {} | 
| +} | 
| +class F1<T extends core::Object> extends core::Object { | 
| +  constructor •({core::List<self::F1::T> a = null}) → void | 
| +    : super core::Object::•() {} | 
| +} | 
| +class F2<T extends core::Object> extends core::Object { | 
| +  constructor •(core::Iterable<self::F2::T> a) → void | 
| +    : super core::Object::•() {} | 
| +} | 
| +class F3<T extends core::Object> extends core::Object { | 
| +  constructor •(core::Iterable<core::Iterable<self::F3::T>> a) → void | 
| +    : super core::Object::•() {} | 
| +} | 
| +class F4<T extends core::Object> extends core::Object { | 
| +  constructor •({core::Iterable<core::Iterable<self::F4::T>> a = null}) → void | 
| +    : super core::Object::•() {} | 
| +} | 
| +static method main() → void { | 
| +  new self::F0::•<core::int>(<dynamic>[]); | 
| +  new self::F0::•<core::int>(<dynamic>[3]); | 
| +  new self::F0::•<core::int>(<dynamic>["hello"]); | 
| +  new self::F0::•<core::int>(<dynamic>["hello", 3]); | 
| +  new self::F1::•<core::int>(a: <dynamic>[]); | 
| +  new self::F1::•<core::int>(a: <dynamic>[3]); | 
| +  new self::F1::•<core::int>(a: <dynamic>["hello"]); | 
| +  new self::F1::•<core::int>(a: <dynamic>["hello", 3]); | 
| +  new self::F2::•<core::int>(<dynamic>[]); | 
| +  new self::F2::•<core::int>(<dynamic>[3]); | 
| +  new self::F2::•<core::int>(<dynamic>["hello"]); | 
| +  new self::F2::•<core::int>(<dynamic>["hello", 3]); | 
| +  new self::F3::•<core::int>(<dynamic>[]); | 
| +  new self::F3::•<core::int>(<dynamic>[<dynamic>[3]]); | 
| +  new self::F3::•<core::int>(<dynamic>[<dynamic>["hello"]]); | 
| +  new self::F3::•<core::int>(<dynamic>[<dynamic>["hello"], <dynamic>[3]]); | 
| +  new self::F4::•<core::int>(a: <dynamic>[]); | 
| +  new self::F4::•<core::int>(a: <dynamic>[<dynamic>[3]]); | 
| +  new self::F4::•<core::int>(a: <dynamic>[<dynamic>["hello"]]); | 
| +  new self::F4::•<core::int>(a: <dynamic>[<dynamic>["hello"], <dynamic>[3]]); | 
| +  new self::F3::•<dynamic>(<dynamic>[]); | 
| +  dynamic f31 = new self::F3::•<dynamic>(<dynamic>[<dynamic>[3]]); | 
| +  dynamic f32 = new self::F3::•<dynamic>(<dynamic>[<dynamic>["hello"]]); | 
| +  dynamic f33 = new self::F3::•<dynamic>(<dynamic>[<dynamic>["hello"], <dynamic>[3]]); | 
| +  new self::F4::•<dynamic>(a: <dynamic>[]); | 
| +  new self::F4::•<dynamic>(a: <dynamic>[<dynamic>[3]]); | 
| +  new self::F4::•<dynamic>(a: <dynamic>[<dynamic>["hello"]]); | 
| +  new self::F4::•<dynamic>(a: <dynamic>[<dynamic>["hello"], <dynamic>[3]]); | 
| +} | 
|  |