On Wed, Jan 07, 2026 at 04:11:10PM +0800, Jason Merrill wrote:
> > +/* Process std::meta::remove_reference.
> > + Returns: a reflection representing the type denoted by
> > + std::remove_reference_t<T>, where T is the type or type alias
> > + represented by type. */
> > +
> > +static tree
> > +eval_remove_reference (location_t loc, tree type)
> > +{
> > + if (TYPE_REF_P (type))
> > + type = TREE_TYPE (type);
> > + type = strip_typedefs (type);
>
> Not necessary here, actually.
Do you mean not necessary to move the call earlier, or not necessary
to call strip_typedefs at all? I think the call is needed,
typedef int T;
static_assert (remove_reference (^^T) == dealias (^^T));
Jakub