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