astral-sh/ruff · error · anyhow::Error

Selection of deprecated rule `{prefix}{code}` is not allowed

Error message

Selection of deprecated rule `{prefix}{code}` is not allowed when preview is enabled.

What it means

Error "Selection of deprecated rule `{prefix}{code}` is not allowed when preview is enabled." thrown in astral-sh/ruff.

Source

Thrown at crates/ruff_workspace/src/configuration.rs:1180

            let (prefix, code) = target.prefix_and_code();
            // TODO(martin): This belongs into the ruff crate.
            warn_user_once_by_id!(from, "`{from}` has been remapped to `{prefix}{code}`.");
        }

        if preview.mode.is_disabled() {
            for selection in deprecated_selectors.iter().sorted() {
                let (prefix, code) = selection.prefix_and_code();
                warn_user_once_by_message!(
                    "Rule `{prefix}{code}` is deprecated and will be removed in a future release."
                );
            }
        } else {
            let deprecated_selectors = deprecated_selectors.iter().sorted().collect::<Vec<_>>();
            match deprecated_selectors.as_slice() {
                [] => (),
                [selection] => {
                    let (prefix, code) = selection.prefix_and_code();
                    return Err(anyhow!(
                        "Selection of deprecated rule `{prefix}{code}` is not allowed when \
                         preview is enabled."
                    ));
                }
                [..] => {
                    let mut message = "\
                        Selection of deprecated rules is not allowed \
                            when preview is enabled. Remove selection of:"
                        .to_string();
                    for selection in deprecated_selectors {
                        let (prefix, code) = selection.prefix_and_code();
                        message.push_str("\n\t- ");
                        message.push_str(prefix);
                        message.push_str(code);
                    }
                    message.push('\n');
                    return Err(anyhow!(message));
                }

View on GitHub (pinned to 672bb4edf0)

When it happens

Trigger: Thrown at crates/ruff_workspace/src/configuration.rs:1180 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of astral-sh/ruff@672bb4edf0 (2026-08-16). Data as JSON: /api/errors/6782ed46d186ef1a. Report an issue: GitHub.