func go/types.Identical
56 uses
go/types (current package)
api_predicates.go#L88: func Identical(x, y Type) bool {
builtins.go#L321: if !Identical(x.typ, y.typ) {
builtins.go#L377: if !Identical(dst.elem, src.elem) {
builtins.go#L400: if key != nil && !Identical(map_.key, key) {
builtins.go#L563: if !Identical(x.typ, a.typ) {
context.go#L118: if inst == nil || Identical(inst, e.instance) {
conversions.go#L205: if Identical(s.Elem(), a.Elem()) {
conversions.go#L218: if Identical(s.Elem(), a.Elem()) {
expr.go#L783: if !Identical(x.typ, y.typ) {
expr.go#L1106: if base != nil && !Identical(p.base, base) {
index.go#L149: if !Identical(key, k) {
index.go#L153: if !Identical(elem, e) {
instantiate.go#L288: if !check.hasAllMethods(V, T, true, Identical, cause) /* !Implements(V, T) */ {
instantiate.go#L350: if alt == nil && !t.tilde && Identical(t.typ, under(t.typ)) {
instantiate.go#L396: if Identical(T, typ) {
literals.go#L298: if Identical(vtyp, x.typ) {
lookup.go#L272: if Identical(t, typ) {
lookup.go#L289: if t != nil && Identical(inst, t) {
lookup.go#L294: if Identical(inst, t) {
lookup.go#L325: return (*Checker)(nil).missingMethod(V, T, static, Identical, nil)
lookup.go#L556: return check.hasAllMethods(T, V, false, Identical, cause)
object.go#L602: assert(Identical(typ, &emptyInterface))
operand.go#L322: if Identical(V, T) {
operand.go#L356: if Identical(Vu, Tu) && (!hasName(V) || !hasName(T)) && Vp == nil && Tp == nil {
operand.go#L392: if Tc, ok := Tu.(*Chan); ok && Identical(Vc.elem, Tc.elem) {
predicates.go#L485: if !Identical(xarg, yargs[i]) {
predicates.go#L515: if !slices.EqualFunc(xargs, yargs, Identical) {
predicates.go#L519: return Identical(xorig, yorig)
stmt.go#L261: if Identical(v.typ, vt.typ) {
stmt.go#L323: if T == nil && t == nil || T != nil && t != nil && Identical(T, t) {
stmt.go#L1081: case cb.Results().Len() != 1 || !Identical(cb.Results().At(0).Type(), universeBool):
typeset.go#L127: assert(Identical(u, under(u)))
typeset.go#L243: if pos.IsValid() && !check.allowVersion(go1_14) || !Identical(m.typ, other.Type()) {
typeset.go#L394: if t.tilde && !Identical(t.typ, u) {
typeterm.go#L45: return x.tilde == y.tilde && Identical(x.typ, y.typ)
typeterm.go#L123: return Identical(x.typ, u)
typeterm.go#L167: return !Identical(ux, uy)
under.go#L117: if Identical(x, y) {
under.go#L123: if y, _ := y.(*Chan); y != nil && Identical(x.elem, y.elem) {
unify.go#L387: return Identical(x, y)
union.go#L105: if !Identical(u, t.typ) {
validtype.go#L107: if Identical(e, t) {
validtype.go#L140: if Identical(p, t) {
golang.org/x/exp/apidiff
compatibility.go#L216: if types.Identical(s, t) {
correspondence.go#L33: return types.Identical(old, new)
correspondence.go#L210: if !types.Identical(tps1.At(i).Constraint(), tps2.At(i).Constraint()) {
correspondence.go#L224: if types.Identical(old, new) {
correspondence.go#L252: if !types.Identical(oldp.Constraint(), newp.Constraint()) {
golang.org/x/tools/go/types/typeutil
map.go#L57: if e.key != nil && types.Identical(key, e.key) {
map.go#L74: if e.key != nil && types.Identical(key, e.key) {
map.go#L92: } else if types.Identical(key, e.key) {
golang.org/x/tools/internal/typeparams
coretype.go#L31: if !types.Identical(U, terms[identical].Type().Underlying()) {
coretype.go#L53: if !types.Identical(ch.Elem(), curr.Elem()) {
typeterm.go#L49: return x.tilde == y.tilde && types.Identical(x.typ, y.typ)
typeterm.go#L127: return types.Identical(x.typ, u)
typeterm.go#L171: return !types.Identical(ux, uy)