llvm/llvm-project

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

Open

#166.644 geöffnet am 5. Nov. 2025

Auf GitHub ansehen
 (14 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C++ (10.782 Forks)batch import
clang:diagnosticsgood first issue

Repository-Metriken

Stars
 (26.378 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 1T 2h) (1.000 gemergte PRs in 30 T)

Beschreibung

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