# 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.md file.

# This is not actually an incremental compiler test as much as a compiler test.
# Test what happens when running a package file as strong NNBD (and it's marked
# with a non-nnbd language version) in a package that's with a lower language
# version (an error should be reported).
# Good "variant" of https://github.com/dart-lang/sdk/issues/42323.

type: newworld
nnbdMode: strong
worlds:
  - entry: bin/runMe.dart
    experiments: non-nullable
    errors: true
    sources:
      .dart_tool/package_config.json: |
        {
          "configVersion": 2,
          "packages": [
            {
              "name": "issue42323",
              "rootUri": "../",
              "packageUri": "lib/",
              "languageVersion": "2.8"
            }
          ]
        }
      bin/runMe.dart: |
        // @dart = 2.8
        main() {}
    expectedLibraryCount: 1