blob: e1b1c7a367a79070fc9b5bb084f247955226aeb4 [file] [log] [blame]
/*
* Copyright (c) 2020, 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.
*/
/**
* @assertion If an unmigrated library re-exports a migrated library, the
* re-exported symbols retain their migrated status (that is, downstream
* migrated libraries will see their migrated types).
* @description Check that non-nullable type alias exported from opted-in
* library to legacy library and then back to the opted in code retains its
* status.
* @author iarkh@unipro.ru
*/
// SharedOptions=--enable-experiment=nonfunction-type-aliases
// Requirements=nnbd-weak
import "dart:async";
import "../../../../Utils/expect.dart";
import "exports_A01_opted_out_aliases_lib.dart";
typedef exp_A = A ;
typedef exp_Int = int ;
typedef exp_Object = Object ;
typedef exp_Function = Function ;
typedef exp_FutureOrInt<T extends int> = FutureOr<T>;
main() {
Expect.equals(typeOf<exp_A>() , typeOf<AAlias>() );
Expect.equals(typeOf<exp_Int>() , typeOf<IntAlias>() );
Expect.equals(typeOf<exp_Function>() , typeOf<FunctionAlias>() );
Expect.equals(typeOf<exp_Object>() , typeOf<ObjectAlias>() );
Expect.equals(typeOf<exp_FutureOrInt>(), typeOf<FutureOrIntAlias>());
}