isocpp / isocpp/CppCoreGuidelines
Provide a simple GSL utility to replace `static_cast<void>`
Open
@GabrielDosReis is already working on this.
Since Mar 5, 2026.
- Dominant language
- CSS
- Stars
- 45.3k
- Forks
- 5.6k
- PR merge metrics
- No merged PRs in 30d
Description
The guidelines recommend avoiding all cast (including static_cast). However, static_cast<void>(expr) is used (and blessed by the C++ standards) as a way to silence function calls whose results shouldn't be ignored. That can be seen as a gnarly hack. Instead, the GSL could provide a facility like
namespace gsl {
template<typename T>
inline void drop(T&&) { }
}
to use to ignore the value of an expression. No cast, intent preserved.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.