diff --git a/pkg/dartdev/lib/src/experiments.dart b/pkg/dartdev/lib/src/experiments.dart index 392d5f30835..5a49e073c16 100644 --- a/pkg/dartdev/lib/src/experiments.dart +++ b/pkg/dartdev/lib/src/experiments.dart @@ -2,6 +2,8 @@ // 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. +import 'dart:io'; + import 'package:analyzer/src/dart/analysis/experiments.dart'; import 'package:args/args.dart'; import 'package:collection/collection.dart' show IterableExtension; @@ -67,8 +69,8 @@ extension ArgResultsExtensions on ArgResults { // We allow default true flags, but complain when they are passed in. if (feature.isEnabledByDefault && enabledExperiments.contains(feature.enableString)) { - print("'${feature.enableString}' is now enabled by default; this " - 'flag is no longer required.'); + stderr.writeln("'${feature.enableString}' is now enabled by default; " + 'this flag is no longer required.'); } } return enabledExperiments; diff --git a/pkg/dartdev/test/commands/analyze_test.dart b/pkg/dartdev/test/commands/analyze_test.dart index 0ca941574dd..afa95194320 100644 --- a/pkg/dartdev/test/commands/analyze_test.dart +++ b/pkg/dartdev/test/commands/analyze_test.dart @@ -433,6 +433,15 @@ void defineAnalyze() { expect(result.stderr, contains("Unknown experiment(s): 'bad'")); }); + test('--enable-experiment with a non-experimental feature', () async { + p = project(); + var result = await p.runAnalyze(['--enable-experiment=records']); + + expect(result.exitCode, 0); + expect(result.stdout, contains('No issues found!')); + expect(result.stderr, contains("'records' is now enabled by default")); + }); + test('--verbose', () async { p = project(mainSrc: ''' int f() { diff --git a/pkg/dartdev/test/commands/run_test.dart b/pkg/dartdev/test/commands/run_test.dart index 9a86e17ef8e..66e9b01ec03 100644 --- a/pkg/dartdev/test/commands/run_test.dart +++ b/pkg/dartdev/test/commands/run_test.dart @@ -781,8 +781,6 @@ void residentRun() { }); test('Handles experiments', () async { - // TODO(https://github.com/dart-lang/sdk/issues/50230): Use - // `test-experiment` instead of `records` here. p = project( mainSrc: r"void main() { print(('hello','world').$1); }", sdkConstraint: VersionConstraint.parse( @@ -792,7 +790,7 @@ void residentRun() { final result = await p.run([ 'run', '--$serverInfoOption=$serverInfoFile', - '--enable-experiment=records', + '--enable-experiment=test-experiment', p.relativeFilePath, ]); Directory? kernelCache = p.findDirectory('.dart_tool/kernel');