llvm/llvm-project

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

Open

#166,644 opened on Nov 5, 2025

View on GitHub
 (14 comments) (0 reactions) (0 assignees)C++ (10,782 forks)batch import
clang:diagnosticsgood first issue

Repository metrics

Stars
 (26,378 stars)
PR merge metrics
 (Avg merge 1d 2h) (1,000 merged PRs in 30d)

Description

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.

Contributor guide