On Fri, 13 Sept 2024 at 18:36, Patrick Palka <ppa...@redhat.com> wrote: > > On Fri, 13 Sep 2024, Patrick Palka wrote: > > > > Ah, we very recently implemented P2609R3 which has the following note > > about projected_value_t: https://wg21.link/p2609r3#proposal > > > > Do we want to honor this note here and define projected_value_t as > > remove_cvref_t<__indirect_value_t<_Iter>> then? It seems the working > > draft doesn't define it that way despite having merged both these > > papers. > > Oops, that seems wrong, it seems the correct definition in terms > of indirect_value_t should be > > remove_cvref_t<indirect_value_t<projected<I, Proj>>> > > as mentioned in P2248R8/5.9.1.
That predates the note in p2609r3, because P2248R8 refers to P2609R0. In P2609R3 indirect_value_t became the exposition-only indirect-value-t which is our __detail::indirect_value_t. I think the working draft should be changed as those two papers suggest, but I'm not sure if there's any advantage to us making that change proactively.