Commit 39d41787 authored by Robert Griesemer's avatar Robert Griesemer

spec: add an example of a trivially invalid interface

In preparation for the forthcoming spec changes for #6977.
While at it, modernize existing File example that dates
back all the way to commit 18c5b488.

Change-Id: Id10e4df0513e3de15bd58867222923eefa9473ea
Reviewed-on: https://go-review.googlesource.com/c/go/+/187978Reviewed-by: default avatarRob Pike <r@golang.org>
Reviewed-by: default avatarMatthew Dempsky <mdempsky@google.com>
Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
parent 1ad64faf
<!--{ <!--{
"Title": "The Go Programming Language Specification", "Title": "The Go Programming Language Specification",
"Subtitle": "Version of May 14, 2019", "Subtitle": "Version of July 31, 2019",
"Path": "/ref/spec" "Path": "/ref/spec"
}--> }-->
...@@ -1257,11 +1257,19 @@ non-<a href="#Blank_identifier">blank</a> name. ...@@ -1257,11 +1257,19 @@ non-<a href="#Blank_identifier">blank</a> name.
</p> </p>
<pre> <pre>
// A simple File interface // A simple File interface.
interface { interface {
Read(b Buffer) bool Read([]byte) (int, error)
Write(b Buffer) bool Write([]byte) (int, error)
Close() Close() error
}
</pre>
<pre>
interface {
String() string
String() string // illegal: String not unique
_(x int) // illegal: method must have non-blank name
} }
</pre> </pre>
...@@ -1272,9 +1280,9 @@ have the method set ...@@ -1272,9 +1280,9 @@ have the method set
</p> </p>
<pre> <pre>
func (p T) Read(b Buffer) bool { return … } func (p T) Read(p []byte) (n int, err error) { return … }
func (p T) Write(b Buffer) bool { return … } func (p T) Write(p []byte) (n int, err error) { return … }
func (p T) Close() { … } func (p T) Close() error { return … }
</pre> </pre>
<p> <p>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment