blob: 896df797a9dcc28fbac21bb563e8308e1e2d18df [file] [edit]
// Copyright (c) 2025, 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.
void main() {
List<int> list = [1, 2, 3];
print(subs(list));
}
List<List<A>> subs<A>(List<A> list) => switch (list) {
[] => [],
[var x, ...var xs] => [
for (var ys in subs(xs)) ...[
[x] + ys,
ys,
],
[x],
],
};