go-python / go-python/gopy

Compile error when a function parameter name is same with package name

Open
#381 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.