Compile error when a function parameter name is same with package name
- Dominant language
- Go
- Stars
- 2.3k
- Forks
- 136
- Avg merge
- 14m
- Merged PRs (30d)
- 2
Description
See example:
```go
package packet
func GoPacketToBytes(shieldID int, packet Packet) ([]byte, error) { // gopy bug
buf := bytes.NewBuffer([]byte{})
w := protocol.NewWriter(buf, int32(shieldID))
packet.Marshal(w)
return buf.Bytes(), nil
}
```
Use `gopy build` it will generate Go file which includes:
```go
packet.GoPacketToBytes( ... )
```
which causes compile problem.
Rename parameter `packet` could solve it, but it's better to fix this problem since the error log is weird to greenhands.
Contributor guide
No contributing guide indexed for this repository
Research direction
Run gopy build with the supplied example and inspect the generated Go wrapper where packet.GoPacketToBytes(...) is emitted. Trace how function parameter names and package references are handled; done means the generated file compiles when a parameter name matches the package name.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100