gopherdata / gopherdata/gophernotes

Error `cannot convert type <*main.b> to interface <error>` on valid Go code

Open
#246 3 comments 1 reaction 1 assignee Claimed by @cosmos72 View on GitHub
bug
Dominant language
Go
Stars
4k
Forks
264
Avg merge
7d 21h
Merged PRs (30d)
1

Description

When attempting to run the following snippet of Go code in the latest version of gophernotes, `v0.7.4`, I get the following error:

```go
import "fmt"

type b struct {}
func (*b) Error() string { return "hi" }

func main() {
var e error
e = &b{}

fmt.Println(e)
}
```
```
repl.go:8:9: error compiling assignment: e = &b{}
repl.go:8:9: cannot convert type <*main.b> to interface : missing method Error
```

However, running essentially the same snippet with a `package main` declaration at the top yields the correc output.

```go
package main

import "fmt"

type b struct {}
func (*b) Error() string { return "hi" }

func main() {
var e error
e = &b{}

fmt.Println(e)
}
```
```
> go run main.go
hi
```
:)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.