From 09e900eb334ec5f0f1cfffb063c4ebce046e892f Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Wed, 25 Nov 2015 13:18:49 -0800 Subject: [PATCH] spec: clarify that iota is incremented even if not used in a const spec Slightly modified an example. Fixes #13371. Change-Id: I25d260d4200086a0ef9725950132b760657610c5 Reviewed-on: https://go-review.googlesource.com/17209 Reviewed-by: Rob Pike --- doc/go_spec.html | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/doc/go_spec.html b/doc/go_spec.html index ac5ae35745..7e42bc33ee 100644 --- a/doc/go_spec.html +++ b/doc/go_spec.html @@ -1,6 +1,6 @@ @@ -1789,26 +1789,27 @@ It can be used to construct a set of related constants:

-const (  // iota is reset to 0
+const ( // iota is reset to 0
 	c0 = iota  // c0 == 0
 	c1 = iota  // c1 == 1
 	c2 = iota  // c2 == 2
 )
 
-const (
-	a = 1 << iota  // a == 1 (iota has been reset)
+const ( // iota is reset to 0
+	a = 1 << iota  // a == 1
 	b = 1 << iota  // b == 2
-	c = 1 << iota  // c == 4
+	c = 3          // c == 3  (iota is not used but still incremented)
+	d = 1 << iota  // d == 8
 )
 
-const (
+const ( // iota is reset to 0
 	u         = iota * 42  // u == 0     (untyped integer constant)
 	v float64 = iota * 42  // v == 42.0  (float64 constant)
 	w         = iota * 42  // w == 84    (untyped integer constant)
 )
 
-const x = iota  // x == 0 (iota has been reset)
-const y = iota  // y == 0 (iota has been reset)
+const x = iota  // x == 0  (iota has been reset)
+const y = iota  // y == 0  (iota has been reset)
 

-- 2.48.1