# Copyright (c) 2018, 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.md file.

# Compile a library with an explicit language version that prohibits use of
# null safety syntax. Remove the explicit language version annotation in
# the update to check the version isn't copied over from the original
# library.

type: newworld
worlds:
  - entry: main.dart
    errors: true
    warnings: false
    sources:
      main.dart: |
        // @dart=2.9
        main() {
          int? i;
        }
    expectedLibraryCount: 1
  - entry: main.dart
    invalidate:
      - main.dart
    errors: false
    warnings: false
    sources:
      main.dart: |
        main() {
          int? i;
        }
    expectedLibraryCount: 1