blob: f0db4261a20ebb22fd8e8f962029d67f3143e14e [file] [log] [blame]
// 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]
],
};