From 023bb034e93363492ef444fefcb1d38cdc61ede1 Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Wed, 19 Oct 2016 09:56:53 -0700 Subject: [PATCH] spec: slightly more realistic example for type assertions For #17428. Change-Id: Ia902b50cf0c40e3c2167fb573a39d328331c38c7 Reviewed-on: https://go-review.googlesource.com/31449 Reviewed-by: Ian Lance Taylor --- doc/go_spec.html | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/doc/go_spec.html b/doc/go_spec.html index 5243ec6dad..ee3a8457f2 100644 --- a/doc/go_spec.html +++ b/doc/go_spec.html @@ -1,6 +1,6 @@ @@ -3116,13 +3116,16 @@ known to be T in a correct program.

-var x interface{} = 7  // x has dynamic type int and value 7
-i := x.(int)           // i has type int and value 7
+var x interface{} = 7          // x has dynamic type int and value 7
+i := x.(int)                   // i has type int and value 7
 
 type I interface { m() }
-var y I
-s := y.(string)        // illegal: string does not implement I (missing method m)
-r := y.(io.Reader)     // r has type io.Reader and y must implement both I and io.Reader
+
+func f(y I) {
+	s := y.(string)        // illegal: string does not implement I (missing method m)
+	r := y.(io.Reader)     // r has type io.Reader and the dynamic type of y must implement both I and io.Reader
+	…
+}
 

-- 2.48.1