func go.pact.im/x/plumb/internal/gotypes.Unify
15 uses
go.pact.im/x/plumb/internal/gotypes (current package)
unify.go#L10: func Unify(pattern, concrete types.Type, params map[*types.TypeParam]bool, bind map[*types.TypeParam]types.Type) bool {
unify.go#L30: return ok && Unify(p.Elem(), c.Elem(), params, bind)
unify.go#L33: return ok && Unify(p.Elem(), c.Elem(), params, bind)
unify.go#L36: return ok && p.Len() == c.Len() && Unify(p.Elem(), c.Elem(), params, bind)
unify.go#L39: return ok && p.Dir() == c.Dir() && Unify(p.Elem(), c.Elem(), params, bind)
unify.go#L42: return ok && Unify(p.Key(), c.Key(), params, bind) && Unify(p.Elem(), c.Elem(), params, bind)
unify.go#L53: if !Unify(pa.At(i), ca.At(i), params, bind) {
unify.go#L73: if !Unify(pf.Type(), cf.Type(), params, bind) {
unify.go#L87: if pm.Id() != cm.Id() || !Unify(pm.Type(), cm.Type(), params, bind) {
unify.go#L105: if !Unify(p.At(i).Type(), c.At(i).Type(), params, bind) {
go.pact.im/x/plumb/internal/solve
joint.go#L147: if gotypes.Unify(vo, d, params, b) {
solve.go#L440: if !gotypes.Unify(vo, d, params, b) || !s.coversPinnable(p, b) {
solve.go#L709: if gotypes.Unify(vo, cand, params, b) && s.coversPinnable(p, b) {
solve.go#L803: if !gotypes.Unify(vo, d, params, b) {