aboutsummaryrefslogtreecommitdiff
path: root/doc/go_spec.html
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2019-07-30 16:16:03 -0700
committerRobert Griesemer <gri@golang.org>2019-07-31 05:45:43 +0000
commit39d4178735d6ca90e076b3fc3d7e38f56fd6b945 (patch)
tree8862ecd37ea5a4668064e054097978a1a02ac4ca /doc/go_spec.html
parent1ad64fafc889cb17041b03b10f8af30ae534dfeb (diff)
downloadgo-39d4178735d6ca90e076b3fc3d7e38f56fd6b945.tar.gz
go-39d4178735d6ca90e076b3fc3d7e38f56fd6b945.zip
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 18c5b488a3b. Change-Id: Id10e4df0513e3de15bd58867222923eefa9473ea Reviewed-on: https://go-review.googlesource.com/c/go/+/187978 Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'doc/go_spec.html')
-rw-r--r--doc/go_spec.html24
1 files changed, 16 insertions, 8 deletions
diff --git a/doc/go_spec.html b/doc/go_spec.html
index fb4341be1d..89732fb8f2 100644
--- a/doc/go_spec.html
+++ b/doc/go_spec.html
@@ -1,6 +1,6 @@
<!--{
"Title": "The Go Programming Language Specification",
- "Subtitle": "Version of May 14, 2019",
+ "Subtitle": "Version of July 31, 2019",
"Path": "/ref/spec"
}-->
@@ -1257,11 +1257,19 @@ non-<a href="#Blank_identifier">blank</a> name.
</p>
<pre>
-// A simple File interface
+// A simple File interface.
interface {
- Read(b Buffer) bool
- Write(b Buffer) bool
- Close()
+ Read([]byte) (int, error)
+ Write([]byte) (int, error)
+ Close() error
+}
+</pre>
+
+<pre>
+interface {
+ String() string
+ String() string // illegal: String not unique
+ _(x int) // illegal: method must have non-blank name
}
</pre>
@@ -1272,9 +1280,9 @@ have the method set
</p>
<pre>
-func (p T) Read(b Buffer) bool { return … }
-func (p T) Write(b Buffer) bool { return … }
-func (p T) Close() { … }
+func (p T) Read(p []byte) (n int, err error) { return … }
+func (p T) Write(p []byte) (n int, err error) { return … }
+func (p T) Close() error { return … }
</pre>
<p>