https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109229
--- Comment #2 from Tobias Ribizel <gnu-bugzilla at ribizel dot de> --- I agree, but that doesn't make it less bug-prone IMO, with the narrowing conversion happening deep inside the exclusive_scan implementation (-Wnarrowing doesn't pick it up). Something similar like common_type<T, invoke_result<binary_op, InputIt::value_type, T>> would be much safer.