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) {