llvm/llvm-project

[-Wunsafe-buffer-usage] Warn about two-arg string view constructors

Open

#166,644 创建于 2025年11月5日

在 GitHub 查看
 (14 评论) (0 反应) (0 负责人)C++ (10,782 fork)batch import
clang:diagnosticsgood first issue

仓库指标

Star
 (26,378 star)
PR 合并指标
 (平均合并 1天 2小时) (30 天内合并 1,000 个 PR)

描述

The two-arg form of std::span<> will currently produce a warning when used along with the -Wunsafe-buffer-usage-in-container option, subject to heuristics that try to determine suspicious arguments.

The string view types, (actually std::basic_string_view<>) have the same issues as does std::span<> when used with a two-argument constructor.

Since the name of the -W flag says "container", I humbly propose covering this case under the same warning, and produce the same waring when encountered.

A small task is removing the specific mention of std::span<> from the diagnostic, expanding it to imply other containers.

贡献者指南