(t *testing.T)
| 484 | } |
| 485 | |
| 486 | func TestFunctionMergeOverloadArgCountRedefinition(t *testing.T) { |
| 487 | sizeFunc, err := NewFunction("size", |
| 488 | MemberOverload("list_size", |
| 489 | []*types.Type{types.NewListType(types.NewTypeParamType("T"))}, types.IntType), |
| 490 | ) |
| 491 | if err != nil { |
| 492 | t.Fatalf("NewFunction() failed: %v", err) |
| 493 | } |
| 494 | sizeVecFunc, err := NewFunction("size", |
| 495 | MemberOverload("list_size", |
| 496 | []*types.Type{types.NewListType(types.NewTypeParamType("T")), types.IntType}, types.IntType), |
| 497 | ) |
| 498 | if err != nil { |
| 499 | t.Fatalf("NewFunction() failed: %v", err) |
| 500 | } |
| 501 | _, err = sizeFunc.Merge(sizeVecFunc) |
| 502 | if err == nil || !strings.Contains(err.Error(), "redefinition") { |
| 503 | t.Fatalf("Merge() expected to fail, got: %v", err) |
| 504 | } |
| 505 | } |
| 506 | |
| 507 | func TestFunctionMergeOverloadArgTypeRedefinition(t *testing.T) { |
| 508 | sizeFunc, err := NewFunction("size", |
nothing calls this directly
no test coverage detected