<!--{
"Title": "The Go Programming Language Specification",
- "Subtitle": "Version of September 28, 2012",
+ "Subtitle": "Version of October 3, 2012",
"Path": "/ref/spec"
}-->
</pre>
<p>
-If the type starts with an operator it must be parenthesized:
+If the type starts with the operator <code>*</code> or <code><-</code>,
+or the keyword <code>func</code>, it must be parenthesized:
</p>
<pre>
(*Point)(p) // p is converted to (*Point)
<-chan int(c) // same as <-(chan int(c))
(<-chan int)(c) // c is converted to (<-chan int)
+func()(x) // function signature func() x
+(func())(x) // x is converted to (func())
</pre>
<p>
restricted circumstances.
</p>
+<p>
+Implementation restriction: For backward-compatibility with the Go 1 language
+specification, a compiler may accept non-parenthesized literal function types
+in conversions where the syntax is unambiguous.
+</p>
+
<h4>Conversions between numeric types</h4>
<p>