go/src/cmd/compile/internal/types/alg.go

type AlgKind

const AUNK

const ANOEQ

const ANOALG

const AMEM

const AMEM0

const AMEM8

const AMEM16

const AMEM32

const AMEM64

const AMEM128

const ASTRING

const AINTER

const ANILINTER

const AFLOAT32

const AFLOAT64

const ACPLX64

const ACPLX128

const ASPECIAL

var algPriority

// setAlg sets the algorithm type of t to a, if it is of higher
// priority to the current algorithm type.
func (t *Type) setAlg(a AlgKind) {}

// AlgType returns the AlgKind used for comparing and hashing Type t.
func AlgType(t *Type) AlgKind {}

// TypeHasNoAlg reports whether t does not have any associated hash/eq
// algorithms because t, or some component of t, is marked Noalg.
func TypeHasNoAlg(t *Type) bool {}

// IsComparable reports whether t is a comparable type.
func IsComparable(t *Type) bool {}

// IncomparableField returns an incomparable Field of struct Type t, if any.
func IncomparableField(t *Type) *Field {}

// IsPaddedField reports whether the i'th field of struct type t is followed
// by padding.
func IsPaddedField(t *Type, i int) bool {}