go-python / go-python/gopy

Type aliases points to the underlying type not the root one, this cause issues where the autogenerated go package does not build if it links to internal packages.

オープン
#348 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Go
スター
2.3k
フォーク
136
平均マージ
14分
マージ済み PR(30日)
2

説明

I have code like this:
```
.
├── a.go
├── b
│   ├── b.go
│   └── internal
│   └── internal.go
└── go.mod
```
```go
// a.go
package a

import "a/b"

type A = b.B
```
```go
// b.go
package b

import "a/b/internal"

type B = internal.I
```
```go
// internal.go
package internal

import "strconv"

type I uint

func (i I) String() string { return strconv.FormatUint(uint64(i), 10) }
```
`gopy pkg a` then creates a folder `a/a` and tries to import `a/b/internal` which does not work because it's not allowed to import an internal package.

My real world usecase is some existing librairy with type alias chains going through multiple modules.

I think this could be solved with the `GODEBUG=gotypesalias=1` https://pkg.go.dev/go/types#Alias but I'm not familiar with the gopy codebase.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。