The compiler sometimes rejects passing fields by alias, or complains about
missing this (meaning it tries to evaluate the value). Sometimes, it also
discards the UDAs.
To prevent this from happening, we always pass around a FieldRef,
which wraps the parent struct type (T), the name of the field
as FieldName, and other informations.
To avoid any issue, eponymous usage is also avoided, hence the reference
needs to be accessed using Ref.
A reference to a field in a struct
The compiler sometimes rejects passing fields by alias, or complains about missing this (meaning it tries to evaluate the value). Sometimes, it also discards the UDAs.
To prevent this from happening, we always pass around a FieldRef, which wraps the parent struct type (T), the name of the field as FieldName, and other informations.
To avoid any issue, eponymous usage is also avoided, hence the reference needs to be accessed using Ref.