| Index: tests/language/null_is_bottom_type_test.dart
 | 
| diff --git a/tests/language/null_is_bottom_type_test.dart b/tests/language/null_is_bottom_type_test.dart
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..b12137efebd70f9b90f16bafc3f7ddaae6853824
 | 
| --- /dev/null
 | 
| +++ b/tests/language/null_is_bottom_type_test.dart
 | 
| @@ -0,0 +1,60 @@
 | 
| +// Copyright (c) 2016, 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.
 | 
| +
 | 
| +// Test that Null is a subtype of any other type.
 | 
| +
 | 
| +import 'package:expect/expect.dart';
 | 
| +
 | 
| +class A {}
 | 
| +typedef A ReturnA();
 | 
| +typedef TakeA(A a);
 | 
| +typedef Null ReturnNull();
 | 
| +typedef TakeNull(Null n);
 | 
| +
 | 
| +testA(A a) {}
 | 
| +testListA(List<A> list) {}
 | 
| +testNull(Null n) {}
 | 
| +testListNull(List<Null> list) {}
 | 
| +testReturnA(ReturnA f) {}
 | 
| +testReturnNull(ReturnNull f) {}
 | 
| +testTakeA(TakeA f) {}
 | 
| +testTakeNull(TakeNull f) {}
 | 
| +
 | 
| +Null returnNull() => null;
 | 
| +takeNull(Null n) {}
 | 
| +A returnA() => null;
 | 
| +takeA(A a) {}
 | 
| +
 | 
| +main() {
 | 
| +  if (false) test(); // Perform static checks only.
 | 
| +}
 | 
| +
 | 
| +test() {
 | 
| +  Null n;
 | 
| +  List<Null> listNull;
 | 
| +  A a = new A();
 | 
| +  List<A> listA;
 | 
| +
 | 
| +  testA(n);                                                          /// 01: ok
 | 
| +  testA(a);                                                          /// 02: ok
 | 
| +  testListA(listNull);                                               /// 03: ok
 | 
| +  testListA(listA);                                                  /// 04: ok
 | 
| +
 | 
| +  testNull(n);                                                       /// 05: ok
 | 
| +  testNull(a);                                                       /// 06: ok
 | 
| +  testListNull(listNull);                                            /// 07: ok
 | 
| +  testListNull(listA);                                               /// 08: ok
 | 
| +
 | 
| +  testReturnA(returnA);                                              /// 09: ok
 | 
| +  testReturnA(returnNull);                                           /// 10: ok
 | 
| +
 | 
| +  testReturnNull(returnA);                                           /// 11: ok
 | 
| +  testReturnNull(returnNull);                                        /// 12: ok
 | 
| +
 | 
| +  testTakeA(takeA);                                                  /// 13: ok
 | 
| +  testTakeA(takeNull);                                               /// 14: ok
 | 
| +
 | 
| +  testTakeNull(takeA);                                               /// 15: ok
 | 
| +  testTakeNull(takeNull);                                            /// 16: ok
 | 
| +}
 | 
| 
 |