blob: 71d72f94eac5b75691d21748240aca78b8acd137 [file]
// Copyright (c) 2026, 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.
import "package:expect/expect.dart";
@pragma('external-effect')
external void externalEffect(Object? o);
void noExternalEffect(Object? o) {}
List<Object> used = [];
Null use(int o) {
used.add(o);
return null;
}
const Object constObj = Object();
Null useConstObject() {
used.add(constObj);
return null;
}
void main() {
externalEffect(use(3));
externalEffect(useConstObject());
Expect.isTrue(used.isEmpty);
noExternalEffect(use(4));
noExternalEffect(useConstObject());
Expect.equals(used.length, 2);
Expect.equals(used[0], 4);
Expect.equals(used[1], constObj);
}