99designs / 99designs/gqlgen

one type is unable to bind interface, does not satisfy the interface, but a second type is able to.

オープン
#2,353 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Go
スター
10.8k
フォーク
1.3k
平均マージ
2日 36分
マージ済み PR(30日)
26

説明

### What happened?

I updated gqlgen from `v0.17.7` to `v0.17.16` (along with gqlparser from `v2.4.3` to `v2.5.0`)
When I run `go generate ./...` (which runs gqlgen) I get an error that I didn't get before the update.
error:
```
merging type systems failed: unable to bind to interface: path.BlueObject does not satisfy the interface path.ObjectInterface
```

Another type GreenObject that also implements ObjectInterface has its related code generated without issues.

### What did you expect?

I expect the BlueObject's code to be generated correctly, and no errors to appear.

### Minimal graphql.schema and models to reproduce

I only include here a minimal amount of fields, but I did try to give my actual objects the exact same fields, and still BlueObject doesn't satisfy the interface, but GreenObject does. Same if I swap their order in the schema.

```graphql
type BlueObject implements ObjectInterface {
id: ID!
name: String
}

type GreenObject implements ObjectInterface {
id: ID!
name: String
}

interface ObjectInterface {
id: ID!
name: String
}
```

### versions
- `go run github.com/99designs/gqlgen version`? : v0.17.16
- `go version`? : go version go1.18.3 linux/amd64

I see that other similar issues have appeared before, including a very recent one https://github.com/99designs/gqlgen/issues/2331. Would the fix to that issue have caused this new issue I have ?

Are there any logs or debug information I can generate and show ?

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

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

評価

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

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

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