mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 04:37:12 +00:00
cc1f9b9564
A multitest section marked "dynamic type error" or "checked mode compile time error" didn't actually do anything. It was silently treated as "ok", which makes for a very confusing looking test. Fixed the only remaining four tests that used "dynamic type error". The other outcome was not used by any test. Change-Id: I9727b3b524cf1effb0dd899bf206aa65dbd60803 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/198180 Auto-Submit: Bob Nystrom <rnystrom@google.com> Commit-Queue: Nate Bosch <nbosch@google.com> Reviewed-by: Nate Bosch <nbosch@google.com>
36 lines
1,014 B
Dart
36 lines
1,014 B
Dart
// Copyright (c) 2012, 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.
|
|
// Dart test program for testing factory generic result types.
|
|
|
|
class A<T> {
|
|
A() {}
|
|
factory A.factory() {
|
|
return new A<String>();
|
|
// ^^^^^^^^^^^^^^^
|
|
// [analyzer] COMPILE_TIME_ERROR.RETURN_OF_INVALID_TYPE
|
|
// ^
|
|
// [cfe] A value of type 'A<String>' can't be returned from a function with return type 'A<T>'.
|
|
return A<T>();
|
|
}
|
|
}
|
|
|
|
class B<T> extends A<T> {
|
|
B() {}
|
|
factory B.factory() {
|
|
return new B<String>();
|
|
// ^^^^^^^^^^^^^^^
|
|
// [analyzer] COMPILE_TIME_ERROR.RETURN_OF_INVALID_TYPE
|
|
// ^
|
|
// [cfe] A value of type 'B<String>' can't be returned from a function with return type 'B<T>'.
|
|
return B<T>();
|
|
}
|
|
}
|
|
|
|
main() {
|
|
new A<String>.factory();
|
|
new A<int>.factory();
|
|
new B<String>.factory();
|
|
new B<int>.factory();
|
|
}
|