1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//! Nested plugin groups with cascading disable for
//! [cordis-rs](https://crates.io/crates/cordis-rs).
//!
//! A group is an entry with a `group` array in the config file (see
//! `cordis-include`). At runtime the loader starts each group entry as a
//! [`Group`] fiber and starts the child entries *beneath that fiber's
//! context*: disposing the group fiber cascades to the whole subtree, and a
//! `disabled` flag anywhere on the ancestor chain keeps the subtree from
//! starting at all (the include tree's `enabled()` walk).
//!
//! The plugin itself is deliberately a no-op nesting marker — upstream
//! cordis' `plugin-group` is similarly tiny. All orchestration lives in
//! `cordis-loader`, which registers [`GROUP_NAME`] in its builtin registry.
use BoxFuture;
use ;
/// Entry name that marks a group (`name: group` in the config file).
pub const GROUP_NAME: &str = "group";
/// Nesting marker plugin for group entries.
///
/// Starting a group produces an active fiber whose context scopes the
/// subtree's fibers and effects; the loader is the intended driver.
;