[INFO] fetching crate chorale-core 0.2.3...
[INFO] documenting chorale-core-0.2.3 against da3f5c31e5535b3dc210067de660a45784ae1e9c for pr-162169
[INFO] extracting crate chorale-core 0.2.3 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate chorale-core 0.2.3
[INFO] finished tweaking crates.io crate chorale-core 0.2.3
[INFO] tweaked toml for crates.io crate chorale-core 0.2.3 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate chorale-core 0.2.3 on toolchain da3f5c31e5535b3dc210067de660a45784ae1e9c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate chorale-core 0.2.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6f3827f1c86abc4e522307afc80bd87fb83c06aab2264dbfac02edcd610e2e74
[INFO] running `Command { std: "docker" "start" "6f3827f1c86abc4e522307afc80bd87fb83c06aab2264dbfac02edcd610e2e74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6f3827f1c86abc4e522307afc80bd87fb83c06aab2264dbfac02edcd610e2e74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6f3827f1c86abc4e522307afc80bd87fb83c06aab2264dbfac02edcd610e2e74" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6f3827f1c86abc4e522307afc80bd87fb83c06aab2264dbfac02edcd610e2e74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6f3827f1c86abc4e522307afc80bd87fb83c06aab2264dbfac02edcd610e2e74" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking uuid v1.23.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]  Documenting chorale-core v0.2.3 (/opt/rustwide/workdir)
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/state.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | / pub struct TableState<TRow: Clone> {
[INFO] [stdout]  36 | |     /// The full dataset as `(RowId, row)` pairs. `RowId` is stable across
[INFO] [stdout]  37 | |     /// sort, filter, and pagination so selection + edits survive reordering.
[INFO] [stdout]  38 | |     ///
[INFO] [stdout] ...   |
[INFO] [stdout] 151 | |     pub data_generation: u64,
[INFO] [stdout] 152 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Start with [`TableState::new`] for sensible defaults.`
[INFO] [stdout]     = help: ends near `Complete, serializable state for one table instance.`
[INFO] [stdout]     = note: `#[deny(rustdoc::unportable_markdown)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/state.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / pub struct VirtualWindow {
[INFO] [stdout] 17 | |     /// First row index to render (inclusive), within the post-sort/post-filter
[INFO] [stdout] 18 | |     /// / post-pagination visible rows slice.
[INFO] [stdout] 19 | |     pub start_index: usize,
[INFO] [stdout] ...  |
[INFO] [stdout] 25 | |     pub bottom_pad_px: f64,
[INFO] [stdout] 26 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Result of [`visible_window`] / [`visible_window_for_state`]: the row-index`
[INFO] [stdout]    = help: ends near `top/bottom spacer divs should be so the scrollbar reflects the full list.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/state.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / pub struct VirtualWindow {
[INFO] [stdout] 17 | |     /// First row index to render (inclusive), within the post-sort/post-filter
[INFO] [stdout] 18 | |     /// / post-pagination visible rows slice.
[INFO] [stdout] 19 | |     pub start_index: usize,
[INFO] [stdout] ...  |
[INFO] [stdout] 25 | |     pub bottom_pad_px: f64,
[INFO] [stdout] 26 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `The result of `visible_window()`: which rows to render and how large the`
[INFO] [stdout]    = help: ends near `The result of `visible_window()`: which rows to render and how large the`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/column.rs:274:1
[INFO] [stdout]     |
[INFO] [stdout] 274 | / pub struct ColumnDef<TRow> {
[INFO] [stdout] 275 | |     /// Unique identifier for this column. Must be unique within a table.
[INFO] [stdout] 276 | |     pub id: ColumnId,
[INFO] [stdout] 277 | |     /// Text displayed in the column's header cell.
[INFO] [stdout] ...   |
[INFO] [stdout] 311 | |     pub aggregator: Option<AggregatorKind<TRow>>,
[INFO] [stdout] 312 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `The `accessor: Arc<dyn Fn(&TRow) -> CellValue>` is the only place in`
[INFO] [stdout]     = help: ends near `Definition for a single column in the table.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/column.rs:209:1
[INFO] [stdout]     |
[INFO] [stdout] 209 | / pub enum EditorKind {
[INFO] [stdout] 210 | |     /// Free-text `<input type="text">`.
[INFO] [stdout] 211 | |     Text,
[INFO] [stdout] 212 | |     /// Numeric `<input type="number">` with optional bounds and step.
[INFO] [stdout] ...   |
[INFO] [stdout] 238 | |     Custom,
[INFO] [stdout] 239 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Set via `ColumnDef::editor(kind)`. Default is `None` (column read-only).`
[INFO] [stdout]     = help: ends near `What kind of inline editor the adapter should render for an editable column.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/column.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | / pub enum FrozenSide {
[INFO] [stdout] 70 | |     /// Column scrolls with the table (default).
[INFO] [stdout] 71 | |     #[default]
[INFO] [stdout] 72 | |     None,
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |     Right,
[INFO] [stdout] 77 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Set via [`ColumnDef::frozen`]. Adapters use [`frozen_left_columns`],`
[INFO] [stdout]    = help: ends near `Which edge a column is pinned to. Defaults to `None` (scrollable).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/column.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | / pub enum FilterKind {
[INFO] [stdout] 164 | |     /// Column is not filterable. The filter row (if shown) renders an empty cell.
[INFO] [stdout] 165 | |     #[default]
[INFO] [stdout] 166 | |     None,
[INFO] [stdout] ...   |
[INFO] [stdout] 200 | |     Boolean,
[INFO] [stdout] 201 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Pair with a [`FilterValue`] variant of the same kind. Default is`
[INFO] [stdout]     = help: ends near `how the column should be filtered.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/column.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | / pub enum RenderKind {
[INFO] [stdout] 249 | |     /// Left-aligned plain text; ellipsis on overflow.
[INFO] [stdout] 250 | |     #[default]
[INFO] [stdout] 251 | |     Text,
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |     Badge(BadgeVariantMap),
[INFO] [stdout] 264 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Adapters use this together with the cell's [`CellValue`] to decide how`
[INFO] [stdout]     = help: ends near `How the adapter renders a cell's value by default.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/column.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | / pub struct BadgeVariant {
[INFO] [stdout] 128 | |     /// Text displayed inside the badge pill.
[INFO] [stdout] 129 | |     pub label: String,
[INFO] [stdout] 130 | |     /// CSS color token (e.g. `"green"`, `"red"`) used by the adapter to apply a style.
[INFO] [stdout] 131 | |     pub color: String,
[INFO] [stdout] 132 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `A single colored pill variant for [`RenderKind::Badge`] columns:`
[INFO] [stdout]     = help: ends near `A single badge variant: the display label and a CSS color token.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/column.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | / pub struct BadgeVariant {
[INFO] [stdout] 128 | |     /// Text displayed inside the badge pill.
[INFO] [stdout] 129 | |     pub label: String,
[INFO] [stdout] 130 | |     /// CSS color token (e.g. `"green"`, `"red"`) used by the adapter to apply a style.
[INFO] [stdout] 131 | |     pub color: String,
[INFO] [stdout] 132 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `A single badge variant: the display label and a CSS color token.`
[INFO] [stdout]     = help: ends near `A single badge variant: the display label and a CSS color token.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/column.rs:86:1
[INFO] [stdout]    |
[INFO] [stdout] 86 | / pub struct BadgeVariantMap {
[INFO] [stdout] 87 | |     /// Map from cell text value to badge display configuration.
[INFO] [stdout] 88 | |     pub variants: HashMap<String, BadgeVariant>,
[INFO] [stdout] 89 | |     /// Variant used when the cell value is not in `variants`.
[INFO] [stdout] 90 | |     pub fallback: Option<BadgeVariant>,
[INFO] [stdout] 91 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Build with `BadgeVariantMap::new().with("Active", ...)`.`
[INFO] [stdout]    = help: ends near `color token. Used by `RenderKind::Badge`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/types.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RowId(Uuid);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Stable across sort, filter, and pagination so selection and edits survive`
[INFO] [stdout]    = help: ends near `Opaque identifier for a row. Uses a UUID internally for global uniqueness.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/types.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct ColumnId(pub &'static str);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Zero-cost to copy and usable as a `HashMap` key. Construct inline:`
[INFO] [stdout]    = help: ends near `zero-cost to copy and usable as `HashMap` keys without heap allocation.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/types.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const DETAIL_EXPANDER_COLUMN: ColumnId = ColumnId("\u{1}chorale-detail-expander");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Reserved `ColumnId` for the keyboard-navigable detail-expander column (#17).`
[INFO] [stdout]    = help: ends near `participates in keyboard navigation (issue #17).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/types.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const DETAIL_EXPANDER_COLUMN: ColumnId = ColumnId("\u{1}chorale-detail-expander");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Reserved `ColumnId` for the detail-expander (chevron) column when it`
[INFO] [stdout]    = help: ends near `Reserved `ColumnId` for the detail-expander (chevron) column when it`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/types.rs:183:1
[INFO] [stdout]     |
[INFO] [stdout] 183 | / pub struct ActiveCell {
[INFO] [stdout] 184 | |     /// Post-filter, post-sort visible row index (0 = first visible row).
[INFO] [stdout] 185 | |     pub row_idx: usize,
[INFO] [stdout] 186 | |     /// The column containing the focused cell.
[INFO] [stdout] 187 | |     pub column_id: ColumnId,
[INFO] [stdout] 188 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Stored in `TableState::active_cell: Option<ActiveCell>`. `None` on mount;`
[INFO] [stdout]     = help: ends near `Identifies the cell that currently holds keyboard focus.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/types.rs:205:1
[INFO] [stdout]     |
[INFO] [stdout] 205 | / pub enum NavDirection {
[INFO] [stdout] 206 | |     /// Move up (previous visible row).
[INFO] [stdout] 207 | |     Up,
[INFO] [stdout] 208 | |     /// Move down (next visible row).
[INFO] [stdout] ...   |
[INFO] [stdout] 213 | |     Right,
[INFO] [stdout] 214 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Passed to `move_active_cell`, `move_active_cell_to_edge`, and`
[INFO] [stdout]     = help: ends near `Direction for active-cell navigation transitions.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/types.rs:380:1
[INFO] [stdout]     |
[INFO] [stdout] 380 | / pub enum CellValue {
[INFO] [stdout] 381 | |     /// UTF-8 text.
[INFO] [stdout] 382 | |     Text(String),
[INFO] [stdout] 383 | |     /// 64-bit signed integer.
[INFO] [stdout] ...   |
[INFO] [stdout] 394 | |     Empty,
[INFO] [stdout] 395 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Used for sort comparisons, filter matching, CSV serialization, and`
[INFO] [stdout]     = help: ends near `The typed value returned by a column's accessor closure.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/types.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / pub struct EditTarget {
[INFO] [stdout] 73 | |     /// The row containing the cell being edited.
[INFO] [stdout] 74 | |     pub row_id: RowId,
[INFO] [stdout] 75 | |     /// The column containing the cell being edited.
[INFO] [stdout] 76 | |     pub column_id: ColumnId,
[INFO] [stdout] 77 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Stored in `TableState::editing: Option<EditTarget>`.`
[INFO] [stdout]    = help: ends near `Identifies the cell currently open for in-cell editing.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/types.rs:86:1
[INFO] [stdout]    |
[INFO] [stdout] 86 | / pub struct PriorEdit<TRow: Clone> {
[INFO] [stdout] 87 | |     /// Row that was edited.
[INFO] [stdout] 88 | |     pub row_id: RowId,
[INFO] [stdout] 89 | |     /// Column that was edited.
[INFO] [stdout] ...  |
[INFO] [stdout] 92 | |     pub prior_row: TRow,
[INFO] [stdout] 93 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Returned in [`CommittedEdit::prior`]. Pass back to [`revert_edit`] from an`
[INFO] [stdout]    = help: ends near `commit if the host's persistence call fails.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/types.rs:101:1
[INFO] [stdout]     |
[INFO] [stdout] 101 | / pub struct CommittedEdit<TRow: Clone> {
[INFO] [stdout] 102 | |     /// Row that was edited.
[INFO] [stdout] 103 | |     pub row_id: RowId,
[INFO] [stdout] 104 | |     /// Column that was edited.
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | |     pub prior: PriorEdit<TRow>,
[INFO] [stdout] 110 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Contains the raw string value the user typed and a [`PriorEdit`] snapshot`
[INFO] [stdout]     = help: ends near `Payload delivered to the adapter's `on_commit_edit` callback.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/types.rs:310:1
[INFO] [stdout]     |
[INFO] [stdout] 310 | / pub enum FilterValue {
[INFO] [stdout] 311 | |     /// Free-text substring match (case-insensitive). Paired with `FilterKind::Text`.
[INFO] [stdout] 312 | |     Text(String),
[INFO] [stdout] 313 | |     /// Numeric range bounds. Either bound is optional. Paired with `FilterKind::NumericRange`.
[INFO] [stdout] ...   |
[INFO] [stdout] 342 | |     Boolean(bool),
[INFO] [stdout] 343 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Variants: `Text`, `NumericRange`, `DateRange`, `MultiSelect`, `Boolean`.`
[INFO] [stdout]     = help: ends near `A filter value that can be applied to a column.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/types.rs:237:1
[INFO] [stdout]     |
[INFO] [stdout] 237 | / pub enum SortDirection {
[INFO] [stdout] 238 | |     /// Ascending order (smallest first).
[INFO] [stdout] 239 | |     Asc,
[INFO] [stdout] 240 | |     /// Descending order (largest first).
[INFO] [stdout] 241 | |     Desc,
[INFO] [stdout] 242 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Sort direction for a column: `Asc` or `Desc`.`
[INFO] [stdout]     = help: ends near `Sort direction for a column.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/types.rs:237:1
[INFO] [stdout]     |
[INFO] [stdout] 237 | / pub enum SortDirection {
[INFO] [stdout] 238 | |     /// Ascending order (smallest first).
[INFO] [stdout] 239 | |     Asc,
[INFO] [stdout] 240 | |     /// Descending order (largest first).
[INFO] [stdout] 241 | |     Desc,
[INFO] [stdout] 242 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Sort direction for a column.`
[INFO] [stdout]     = help: ends near `Sort direction for a column.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/types.rs:270:1
[INFO] [stdout]     |
[INFO] [stdout] 270 | / pub enum SortAction {
[INFO] [stdout] 271 | |     /// Replace the entire sort with just this column (plain click).
[INFO] [stdout] 272 | |     ///
[INFO] [stdout] 273 | |     /// Cycles: None → Asc → Desc → None, clearing all other sort columns.
[INFO] [stdout] ...   |
[INFO] [stdout] 278 | |     Append,
[INFO] [stdout] 279 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Passed to [`toggle_sort`]. `Replace` for plain click (single-column semantics);`
[INFO] [stdout]     = help: ends near `How a sort toggle should behave: replace the entire sort list or append to it.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/types.rs:251:1
[INFO] [stdout]     |
[INFO] [stdout] 251 | / pub enum PaginationMode {
[INFO] [stdout] 252 | |     /// Rows divided into fixed-size pages (v0.1.0 behavior). **Default.**
[INFO] [stdout] 253 | |     #[default]
[INFO] [stdout] 254 | |     Pages,
[INFO] [stdout] ...   |
[INFO] [stdout] 259 | |     InfiniteScroll,
[INFO] [stdout] 260 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near ``Pages` (default): the classic pager — `set_page`, `total_pages`, and the`
[INFO] [stdout]     = help: ends near `How the table exposes rows to the user.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/types.rs:284:1
[INFO] [stdout]     |
[INFO] [stdout] 284 | / pub struct SortState {
[INFO] [stdout] 285 | |     /// The column being sorted.
[INFO] [stdout] 286 | |     pub column: ColumnId,
[INFO] [stdout] 287 | |     /// Whether the sort is ascending or descending.
[INFO] [stdout] 288 | |     pub direction: SortDirection,
[INFO] [stdout] 289 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Active sort on a single column: `column: ColumnId` + `direction: SortDirection`.`
[INFO] [stdout]     = help: ends near `Active sort on a single column.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/types.rs:284:1
[INFO] [stdout]     |
[INFO] [stdout] 284 | / pub struct SortState {
[INFO] [stdout] 285 | |     /// The column being sorted.
[INFO] [stdout] 286 | |     pub column: ColumnId,
[INFO] [stdout] 287 | |     /// Whether the sort is ascending or descending.
[INFO] [stdout] 288 | |     pub direction: SortDirection,
[INFO] [stdout] 289 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Active sort on a single column.`
[INFO] [stdout]     = help: ends near `Active sort on a single column.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/types.rs:348:1
[INFO] [stdout]     |
[INFO] [stdout] 348 | / pub enum Alignment {
[INFO] [stdout] 349 | |     /// Left-align cell content (the default).
[INFO] [stdout] 350 | |     #[default]
[INFO] [stdout] 351 | |     Left,
[INFO] [stdout] ...   |
[INFO] [stdout] 355 | |     Right,
[INFO] [stdout] 356 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Horizontal text alignment for a column: `Left` (default), `Center`, `Right`.`
[INFO] [stdout]     = help: ends near `Horizontal alignment for a column's cells and header.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/types.rs:348:1
[INFO] [stdout]     |
[INFO] [stdout] 348 | / pub enum Alignment {
[INFO] [stdout] 349 | |     /// Left-align cell content (the default).
[INFO] [stdout] 350 | |     #[default]
[INFO] [stdout] 351 | |     Left,
[INFO] [stdout] ...   |
[INFO] [stdout] 355 | |     Right,
[INFO] [stdout] 356 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Horizontal alignment for a column's cells and header.`
[INFO] [stdout]     = help: ends near `Horizontal alignment for a column's cells and header.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/types.rs:360:1
[INFO] [stdout]     |
[INFO] [stdout] 360 | pub struct CurrencyCode(pub &'static str);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Predefined constants: `CurrencyCode::USD`, `CurrencyCode::EUR`,`
[INFO] [stdout]     = help: ends near `ISO 4217 currency code. Used by `RenderKind::Currency`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | / pub enum StateError {
[INFO] [stdout]  7 | |     /// The requested page index exceeds the number of available pages.
[INFO] [stdout]  8 | |     #[error("page {0} is out of range")]
[INFO] [stdout]  9 | |     PageOutOfRange(usize),
[INFO] [stdout] ...  |
[INFO] [stdout] 44 | |     ColumnNotFound,
[INFO] [stdout] 45 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `One variant per distinct failure mode (ROBUSTNESS-1):`
[INFO] [stdout]    = help: ends near `Errors that can occur during fallible state transitions.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/labels.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / pub struct Labels {
[INFO] [stdout] 20 | |     // Filter bar
[INFO] [stdout] 21 | |     /// Placeholder text for the per-column filter input. Default: `"Filter…"`.
[INFO] [stdout] 22 | |     pub filter_placeholder: String,
[INFO] [stdout] ...  |
[INFO] [stdout] 92 | |     pub load_more_label: String,
[INFO] [stdout] 93 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Construct with [`Labels::default`] and mutate the fields you want to change.`
[INFO] [stdout]    = help: ends near `All user-visible strings the table renders. Override any field to customise.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/theme.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub enum Theme {
[INFO] [stdout] 16 | |     /// Injects the built-in light stylesheet on first mount.
[INFO] [stdout] 17 | |     #[default]
[INFO] [stdout] 18 | |     Light,
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     Custom,
[INFO] [stdout] 23 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near ``Custom` suppresses the injected stylesheet; the host app supplies its`
[INFO] [stdout]    = help: ends near `Which visual theme the adapter applies to the rendered table.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/theme.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | / pub fn theme_stylesheet() -> &'static str {
[INFO] [stdout] 127 | |     THEME_STYLESHEET
[INFO] [stdout] 128 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Built-in light + dark `--chorale-*` token stylesheet, injected once per`
[INFO] [stdout]     = help: ends near `CSS string.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/theme.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | / pub fn theme_stylesheet() -> &'static str {
[INFO] [stdout] 127 | |     THEME_STYLESHEET
[INFO] [stdout] 128 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Returns the built-in chorale theme stylesheet as a `<style>`-injectable`
[INFO] [stdout]     = help: ends near `Returns the built-in chorale theme stylesheet as a `<style>`-injectable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/theme.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const THEME_ATTRIBUTE: &str = "data-chorale-theme";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Attribute name (`data-chorale-theme`) the adapters set on the table root`
[INFO] [stdout]    = help: ends near `token block from [`theme_stylesheet`] applies.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/theme.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const THEME_ATTRIBUTE: &str = "data-chorale-theme";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Attribute the adapters set on the table root element to select which`
[INFO] [stdout]    = help: ends near `Attribute the adapters set on the table root element to select which`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/theme.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub const THEME_ROOT_CLASS: &str = "chorale-root";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Class name (`chorale-root`) the shipped stylesheet scopes its token`
[INFO] [stdout]    = help: ends near `Class name the adapters place on the table root element.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/theme.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub const THEME_ROOT_CLASS: &str = "chorale-root";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Class name the adapters place on the table root element.`
[INFO] [stdout]    = help: ends near `Class name the adapters place on the table root element.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/theme.rs:226:1
[INFO] [stdout]     |
[INFO] [stdout] 226 | / pub struct Row<TRow> {
[INFO] [stdout] 227 | |     /// Stable identifier for this row across sort, filter, and pagination.
[INFO] [stdout] 228 | |     pub id: RowId,
[INFO] [stdout] 229 | |     /// The row's data value.
[INFO] [stdout] ...   |
[INFO] [stdout] 235 | |     pub is_selected: bool,
[INFO] [stdout] 236 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Row metadata passed to a [`RowClassFn`] to compute per-row CSS classes.`
[INFO] [stdout]     = help: ends near `Row metadata passed to `RowClassFn` resolvers.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/theme.rs:226:1
[INFO] [stdout]     |
[INFO] [stdout] 226 | / pub struct Row<TRow> {
[INFO] [stdout] 227 | |     /// Stable identifier for this row across sort, filter, and pagination.
[INFO] [stdout] 228 | |     pub id: RowId,
[INFO] [stdout] 229 | |     /// The row's data value.
[INFO] [stdout] ...   |
[INFO] [stdout] 235 | |     pub is_selected: bool,
[INFO] [stdout] 236 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Row metadata passed to `RowClassFn` resolvers.`
[INFO] [stdout]     = help: ends near `Row metadata passed to `RowClassFn` resolvers.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/theme.rs:244:1
[INFO] [stdout]     |
[INFO] [stdout] 244 | / pub struct CellInfo<'a, TRow> {
[INFO] [stdout] 245 | |     /// Stable identifier for the row containing this cell.
[INFO] [stdout] 246 | |     pub row_id: RowId,
[INFO] [stdout] 247 | |     /// Identifier of the column this cell belongs to.
[INFO] [stdout] ...   |
[INFO] [stdout] 252 | |     pub is_selected: bool,
[INFO] [stdout] 253 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Cell metadata passed to a [`CellClassFn`] to compute per-cell CSS classes.`
[INFO] [stdout]     = help: ends near `Cell metadata passed to `CellClassFn` resolvers.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/theme.rs:244:1
[INFO] [stdout]     |
[INFO] [stdout] 244 | / pub struct CellInfo<'a, TRow> {
[INFO] [stdout] 245 | |     /// Stable identifier for the row containing this cell.
[INFO] [stdout] 246 | |     pub row_id: RowId,
[INFO] [stdout] 247 | |     /// Identifier of the column this cell belongs to.
[INFO] [stdout] ...   |
[INFO] [stdout] 252 | |     pub is_selected: bool,
[INFO] [stdout] 253 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Cell metadata passed to `CellClassFn` resolvers.`
[INFO] [stdout]     = help: ends near `Cell metadata passed to `CellClassFn` resolvers.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/theme.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub type RowClassFn<TRow> = Arc<dyn Fn(&Row<TRow>) -> String + Send + Sync>;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near ``Arc<dyn Fn(&Row<TRow>) -> String + Send + Sync>`.`
[INFO] [stdout]     = help: ends near `Stored in `Arc` so `TableProps` can be `Clone`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/theme.rs:261:1
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub type CellClassFn<TRow> = Arc<dyn Fn(&CellInfo<TRow>) -> String + Send + Sync>;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near ``Arc<dyn Fn(&CellInfo<TRow>) -> String + Send + Sync>`.`
[INFO] [stdout]     = help: ends near `Stored in `Arc` so `ColumnDef` can be `Clone`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/column.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / pub enum AggregatorKind<TRow> {
[INFO] [stdout] 17 | |     /// Sum of numeric cell values (`CellValue::Integer` and `Float`).
[INFO] [stdout] 18 | |     Sum,
[INFO] [stdout] 19 | |     /// Average of numeric cell values. Returns `CellValue::Text("—")` when no
[INFO] [stdout] ...  |
[INFO] [stdout] 30 | |     Custom(Arc<dyn Fn(&[&TRow]) -> CellValue + Send + Sync>),
[INFO] [stdout] 31 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Set via [`ColumnDef::aggregator`]. Appears in [`GroupedRow::Header::aggregates`].`
[INFO] [stdout]    = help: ends near `How to aggregate rows within a group for a column.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/types.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | / pub enum GroupedPaginationMode {
[INFO] [stdout] 225 | |     /// Paginate data rows only. Group headers re-render on each page that
[INFO] [stdout] 226 | |     /// contains their rows. Pagination controls remain active. **Default.**
[INFO] [stdout] 227 | |     #[default]
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |     Virtualized,
[INFO] [stdout] 233 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Set via `TableState::grouped_pagination`.`
[INFO] [stdout]     = help: ends near `How pagination interacts with grouped rows.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/types.rs:147:1
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct GroupKey(pub(crate) String);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Obtain from [`GroupedRow::Header::key`]; pass to [`toggle_group`] to`
[INFO] [stdout]     = help: ends near `Opaque key identifying a group (the concatenated group-by column values).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not document `chorale-core`
[INFO] running `Command { std: "docker" "inspect" "6f3827f1c86abc4e522307afc80bd87fb83c06aab2264dbfac02edcd610e2e74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6f3827f1c86abc4e522307afc80bd87fb83c06aab2264dbfac02edcd610e2e74", kill_on_drop: false }`
[INFO] [stdout] 6f3827f1c86abc4e522307afc80bd87fb83c06aab2264dbfac02edcd610e2e74
