rust-lang/rust-clippy

Lint for .clone().into_boxed_str()

Open

#15,951 创建于 2025年10月25日

在 GitHub 查看
 (4 评论) (0 反应) (1 负责人)Rust (1,391 fork)batch import
A-lintgood first issue

仓库指标

Star
 (10,406 star)
PR 合并指标
 (平均合并 19天 22小时) (30 天内合并 113 个 PR)

描述

What it does

Suggest turning s.clone().into_boxed_str() into Box::from(s.as_str()).

Possibly could be grouped together with other inefficient string conversions.

Advantage

Removes a call to __rust_realloc

Drawbacks

No response

Example

fn foo(s: &String) -> Box<str> {
    s.clone().into_boxed_str()
}

Could be written as:

fn foo(s: &String) -> Box<str> {
    Box::from(s.as_str())
}

Comparison with existing lints

redundant_clone generally doesn't consider the semantics of the

Additional Context

A GitHub search shows this unoptimal pattern is actually used fairly often.

贡献者指南