On Saturday, 23 November 2019 at 15:09:44 UTC, Adam D. Ruppe wrote:
On Saturday, 23 November 2019 at 13:17:49 UTC, mipri wrote:
  template isNamed(alias T) {
      enum isNamed = hasStaticMember!(T, "secretlyIsNamed");
  }

this looks like a place to use a @Named uda!

@Named struct World {}
@Named struct Bob {}

or mebbe

@implements!Named

is an option to explore too. Then it cleans up the secretlyIsNamed reflection issue.

I have little to no experience with UDA in D. So I would mark a struct as @SetLike or @ArrayLike, but how would I typecheck that it has the required methods and aliased types?

I guess it is possible to use introspection somehow?

Reply via email to