(t *testing.T)
| 602 | } |
| 603 | |
| 604 | func TestSingletonOverloadCollision(t *testing.T) { |
| 605 | fn, err := NewFunction("id", |
| 606 | Overload("id_any", []*types.Type{types.AnyType}, types.AnyType, |
| 607 | UnaryBinding(func(arg ref.Val) ref.Val { |
| 608 | return arg |
| 609 | }), |
| 610 | ), |
| 611 | SingletonUnaryBinding(func(arg ref.Val) ref.Val { |
| 612 | return arg |
| 613 | }), |
| 614 | ) |
| 615 | if err != nil { |
| 616 | t.Fatalf("NewFunction() failed: %v", err) |
| 617 | } |
| 618 | _, err = fn.Bindings() |
| 619 | if err == nil || !strings.Contains(err.Error(), "incompatible with specialized overloads") { |
| 620 | t.Errorf("NewFunction() got %v, wanted incompatible with specialized overloads", err) |
| 621 | } |
| 622 | } |
| 623 | |
| 624 | func TestSingletonOverloadLateBindingCollision(t *testing.T) { |
| 625 | fn, err := NewFunction("id", |
nothing calls this directly
no test coverage detected