diff --git a/doc/go_spec.html b/doc/go_spec.html
index 2ec8094a9c..957618d5ee 100644
--- a/doc/go_spec.html
+++ b/doc/go_spec.html
@@ -3609,32 +3609,36 @@ T(value)
-where T is the type name of an arithmetic type or string (§Basic types),
-and value is the value of an expression that can be converted to a value
+where T is a type
+and value is an expression
+that can be converted to a value
of result type T.
The following conversion rules apply:
-
-1) Between integer types. If the value is a signed quantity, it is
+1) Between equal types. The conversion always succeeds.
+
+-
+2) Between integer types. If the value is a signed quantity, it is
sign extended to implicit infinite precision; otherwise it is zero
extended. It is then truncated to fit in the result type size.
For example,
uint32(int8(0xFF)) is 0xFFFFFFFF.
The conversion always yields a valid value; there is no signal for overflow.
-
-2) Between integer and floating point types, or between floating point
+3) Between integer and floating point types, or between floating point
types. To avoid overdefining the properties of the conversion, for
now it is defined as a ``best effort'' conversion. The conversion
always succeeds but the value may be a NaN or other problematic
result. TODO: clarify?
-
-3) Strings permit two special conversions.
+4) Strings permit two special conversions.
-
-3a) Converting an integer value yields a string containing the UTF-8
+4a) Converting an integer value yields a string containing the UTF-8
representation of the integer.
(TODO: this one could be done just as well by a library.)
@@ -3644,7 +3648,7 @@ string(0x65e5) // "\u65e5"
-
-3b) Converting an array or slice of bytes yields a string whose successive
+4b) Converting an array or slice of bytes yields a string whose successive
bytes are those of the array/slice.
@@ -3658,10 +3662,6 @@ There is no linguistic mechanism to convert between pointers and integers.
The unsafe package
implements this functionality under
restricted circumstances (§Package unsafe).
-
-TODO: Do we allow interface/ptr conversions in this form or do they
-have to be written as type guards? (§Type guards)
-