Landing: 44ecf86ff9d0

Project / Subsystem

gcc / libstdc++

Date

2026-09-29

Author

Tomasz Kamiński

Commit

44ecf86ff9d0fc07a6b8676a38097a1124e0b314

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
libstdc++
patch_id
—
commit_hash
44ecf86ff9d0fc07a6b8676a38097a1124e0b314
source_type
github
headline
libstdc++: Handle integer-class types as bounds for repeat_view
tldr
Enables `repeat_view` to correctly use integer-like types as bounds, fixing issues with unsigned types and difference type calculation.
author
Tomasz Kamiński
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • libstdc++
  • • C++20
  • • ranges
  • • iterator
  • • concepts
discussion_id_link
—
bugzilla_pr
—
date
2026-09-29T00:00:00.000Z

This change updates std::ranges::repeat_view to properly handle integer-like types, including unsigned ones, as bounds for the range. Previously, unsigned integer types were rejected because they did not meet certain C++20 concepts, and the calculation of the difference type was flawed for these bounds. This fix implements LWG 3875, ensuring that repeat_view behaves correctly with a wider range of integer types.