(t *testing.T)
| 462 | } |
| 463 | |
| 464 | func TestFunctionMergeOverloadCollision(t *testing.T) { |
| 465 | sizeFunc, err := NewFunction("size", |
| 466 | MemberOverload("list_size", |
| 467 | []*types.Type{types.NewListType(types.NewTypeParamType("T"))}, types.IntType), |
| 468 | ) |
| 469 | if err != nil { |
| 470 | t.Fatalf("NewFunction() failed: %v", err) |
| 471 | } |
| 472 | sizeVecFunc, err := NewFunction("size", |
| 473 | MemberOverload("list_size2", |
| 474 | []*types.Type{types.NewListType(types.NewTypeParamType("K"))}, types.IntType), |
| 475 | ) |
| 476 | if err != nil { |
| 477 | t.Fatalf("NewFunction() failed: %v", err) |
| 478 | } |
| 479 | _, err = sizeFunc.Merge(sizeVecFunc) |
| 480 | if err == nil || !strings.Contains(err.Error(), "declaration merge failed") { |
| 481 | t.Fatalf("Merge() expected to fail, got: %v", err) |
| 482 | } |
| 483 | } |
| 484 | |
| 485 | func TestFunctionMergeOverloadArgCountRedefinition(t *testing.T) { |
| 486 | sizeFunc, err := NewFunction("size", |
nothing calls this directly
no test coverage detected