oxc-project/oxc · error · OxcDiagnostic
Array destructuring may not contain consecutive ignored valu
Error message
Array destructuring may not contain consecutive ignored values.
What it means
Raised by unicorn/no-unreadable-array-destructuring when a destructuring pattern contains two or more consecutive holes/elisions (`, ,`) or a spread followed by ignored holes, making the positional intent hard to read. The faulting input is the holey destructuring pattern at the labeled span.
Source
Thrown at crates/oxc_linter/src/rules/unicorn/no_unreadable_array_destructuring.rs:10
use oxc_allocator::ArenaVec;
use oxc_ast::AstKind;
use oxc_diagnostics::OxcDiagnostic;
use oxc_macros::declare_oxc_lint;
use oxc_span::Span;
use crate::{AstNode, context::LintContext, rule::Rule};
fn no_unreadable_array_destructuring_diagnostic(span: Span) -> OxcDiagnostic {
OxcDiagnostic::warn("Array destructuring may not contain consecutive ignored values.")
.with_label(span)
}
#[derive(Debug, Default, Clone)]
pub struct NoUnreadableArrayDestructuring;
declare_oxc_lint!(
/// ### What it does
///
/// Disallows destructuring values from an array in ways that are difficult to read.
///
/// ### Why is this bad?
///
/// Destructuring can be very useful, but it can also make some code harder to read.
/// This rule prevents ignoring consecutive values (e.g. `let [,,foo] = array`)
/// when destructuring from an array.
///
/// ### ExamplesView on GitHub (pinned to e1e7af627c)
Solutions
- Name the skipped elements (use descriptive identifiers instead of holes)
- Insert a comment placeholder element to document the skipped slot
- Restructure to index-based access or object destructuring when many positions are skipped
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/oxc_linter/src/rules/unicorn/no_unreadable_array_destructuring.rs:10 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of oxc-project/oxc@e1e7af627c (2026-08-20).
Data as JSON: /api/errors/1a75665e3220c6c9.
Report an issue: GitHub.