reflect.Type.Implements (method)

48 uses

	reflect (current package)
		type.go#L114: 	Implements(u Type) bool

	database/sql
		convert.go#L556: 		rv.Type().Elem().Implements(valuerReflectType) {

	database/sql/driver
		types.go#L235: 		rv.Type().Elem().Implements(valuerReflectType) {

	encoding/json
		decode.go#L642: 			if !reflect.PointerTo(t.Key()).Implements(textUnmarshalerType) {
		decode.go#L777: 			if reflect.PointerTo(kt).Implements(textUnmarshalerType) {
		encode.go#L426: 	if t.Kind() != reflect.Pointer && allowAddr && reflect.PointerTo(t).Implements(marshalerType) {
		encode.go#L429: 	if t.Implements(marshalerType) {
		encode.go#L432: 	if t.Kind() != reflect.Pointer && allowAddr && reflect.PointerTo(t).Implements(textMarshalerType) {
		encode.go#L435: 	if t.Implements(textMarshalerType) {
		encode.go#L827: 		if !t.Key().Implements(textMarshalerType) {
		encode.go#L882: 		if !p.Implements(marshalerType) && !p.Implements(textMarshalerType) {
		encode.go#L1219: 						case t.Kind() == reflect.Interface && t.Implements(isZeroerType):
		encode.go#L1227: 						case t.Kind() == reflect.Pointer && t.Implements(isZeroerType):
		encode.go#L1232: 						case t.Implements(isZeroerType):
		encode.go#L1236: 						case reflect.PointerTo(t).Implements(isZeroerType):

	encoding/xml
		marshal.go#L453: 	if val.CanInterface() && typ.Implements(marshalerType) {
		marshal.go#L458: 		if pv.CanInterface() && pv.Type().Implements(marshalerType) {
		marshal.go#L464: 	if val.CanInterface() && typ.Implements(textMarshalerType) {
		marshal.go#L469: 		if pv.CanInterface() && pv.Type().Implements(textMarshalerType) {
		marshal.go#L583: 	if val.CanInterface() && val.Type().Implements(marshalerAttrType) {
		marshal.go#L596: 		if pv.CanInterface() && pv.Type().Implements(marshalerAttrType) {
		marshal.go#L608: 	if val.CanInterface() && val.Type().Implements(textMarshalerType) {
		marshal.go#L619: 		if pv.CanInterface() && pv.Type().Implements(textMarshalerType) {
		marshal.go#L857: 			if vf.CanInterface() && vf.Type().Implements(textMarshalerType) {
		marshal.go#L869: 				if pv.CanInterface() && pv.Type().Implements(textMarshalerType) {
		read.go#L258: 	if val.CanInterface() && val.Type().Implements(unmarshalerAttrType) {
		read.go#L265: 		if pv.CanInterface() && pv.Type().Implements(unmarshalerAttrType) {
		read.go#L271: 	if val.CanInterface() && val.Type().Implements(textUnmarshalerType) {
		read.go#L278: 		if pv.CanInterface() && pv.Type().Implements(textUnmarshalerType) {
		read.go#L355: 	if val.CanInterface() && val.Type().Implements(unmarshalerType) {
		read.go#L363: 		if pv.CanInterface() && pv.Type().Implements(unmarshalerType) {
		read.go#L368: 	if val.CanInterface() && val.Type().Implements(textUnmarshalerType) {
		read.go#L374: 		if pv.CanInterface() && pv.Type().Implements(textUnmarshalerType) {
		read.go#L581: 	if saveData.IsValid() && saveData.CanInterface() && saveData.Type().Implements(textUnmarshalerType) {
		read.go#L590: 		if pv.CanInterface() && pv.Type().Implements(textUnmarshalerType) {

	github.com/jackc/pgx/v5/pgtype
		pgtype.go#L2040: 				return true, !refVal.Type().Elem().Implements(valuerReflectType)

	google.golang.org/grpc
		server.go#L755: 		if !st.Implements(ht) {

	google.golang.org/protobuf/internal/impl
		legacy_message.go#L259: 				if t.Implements(f.Type) {
		message_reflect_field.go#L69: 	if !reflect.PtrTo(ot).Implements(ft) {

	gotest.tools/v3/assert/cmp
		compare.go#L364: 	if errValue.Type().Implements(expectedType) {

	html/template
		content.go#L143: 	for !v.Type().Implements(fmtStringerType) && !v.Type().Implements(errorType) && v.Kind() == reflect.Pointer && !v.IsNil() {
		js.go#L142: 	for !v.Type().Implements(jsonMarshalType) && v.Kind() == reflect.Pointer && !v.IsNil() {

	text/template
		exec.go#L1123: 	if !v.Type().Implements(errorType) && !v.Type().Implements(fmtStringerType) {
		exec.go#L1124: 		if v.CanAddr() && (reflect.PointerTo(v.Type()).Implements(errorType) || reflect.PointerTo(v.Type()).Implements(fmtStringerType)) {