in types/types.go [264:282]
func (t *Type) propagateMarkers() {
if t.UnderlyingType == nil {
return
}
switch t.Kind {
case AliasKind, PointerKind:
t.UnderlyingType.propagateMarkers()
for name, marker := range t.UnderlyingType.Markers {
if _, ok := t.Markers[name]; !ok {
if t.Markers == nil {
t.Markers = make(markers.MarkerValues)
}
t.Markers[name] = marker
}
}
}
}