diff options
Diffstat (limited to 'doc/go1.4.html')
-rw-r--r-- | doc/go1.4.html | 56 |
1 files changed, 50 insertions, 6 deletions
diff --git a/doc/go1.4.html b/doc/go1.4.html index 35a0015a7..c5a918adc 100644 --- a/doc/go1.4.html +++ b/doc/go1.4.html @@ -9,6 +9,7 @@ <p> The latest Go release, version 1.4, arrives as scheduled six months after 1.3 and contains only one tiny language change, +a possibly breaking change to the compiler, a backwards-compatible simple form of <code>for</code>-<code>range</code> loop. The release focuses primarily on implementation work, improving the garbage collector and preparing the ground for a fully concurrent collector to be rolled out in the @@ -80,6 +81,39 @@ this new form as the may now be <code>nil</code>. </p> +<h3 id="methodonpointertopointer">Method calls on **T</h3> + +<p> +Given these declarations, +</p> + +<pre> +type T int +func (T) M() {} +var x **T +</pre> + +<p> +both <code>gc</code> and <code>gccgo</code> accepted the method call +</p> + +<pre> +x.M() +</pre> + +<p> +which is a double dereference of the pointer-to-pointer <code>x</code>. +The Go specification allows a single dereference to be inserted automatically, +but not two, so this call is erroneous according to the language definition. +It has therefore been disallowed in Go 1.4, which is a breaking change, +although very few programs will be affected. +</p> + +<p> +<em>Updating</em>: Code that depends on the old, erroneous behavior will no longer +compile but is easy to fix by adding an explicit dereference. +</p> + <h2 id="os">Changes to the supported operating systems and architectures</h2> <h3 id="android">Android</h3> @@ -408,8 +442,20 @@ have been updated. <h3 id="misc">Miscellany</h3> <p> -TODO misc news -misc: deleted editor support; refer to https://code.google.com/p/go-wiki/wiki/IDEsAndTextEditorPlugins instead (CL 105470043) +The standard repository's top-level <code>misc</code> directory used to contain +Go support for editors and IDEs: plugins, initialization scripts and so on. +Maintaining these was becoming time-consuming +and needed external help because many of the editors listed were not used by +members of the core team. +It also required us to make decisions about which plugin was best for a given +editor, even for editors we do not use. +</p> + +<p> +The Go community at large is much better suited to managing this information. +In Go 1.4, therefore, this support has been removed from the repository. +Instead, there is a curated, informative list of what's available on +a <a href="https://code.google.com/p/go-wiki/wiki/IDEsAndTextEditorPlugins">wiki page</a>. </p> <h2 id="performance">Performance</h2> @@ -445,7 +491,7 @@ Library changes that affect performance are documented below. <h3 id="new_packages">New packages</h3> <p> -TODO new packages +There are no new packages in this release. </p> <h3 id="major_library_changes">Major changes to the library</h3> @@ -456,7 +502,7 @@ TODO major changes <pre> encoding/gob: remove unsafe (CL 102680045) -syscall: now frozen (CL 129820043) +syscall: now frozen (CL 129820043); go.sys subrepo created: http://golang.org/s/go1.4-syscall </pre> <h3 id="minor_library_changes">Minor changes to the library</h3> @@ -502,6 +548,4 @@ testing: add TestMain support (CL 148770043) text/scanner: add IsIdentRune field of Scanner. (CL 108030044) text/template: allow comparison of signed and unsigned integers (CL 149780043) time: use the micro symbol (ยต (U+00B5)) to print microsecond duration (CL 105030046) - -go.sys subrepo created: http://golang.org/s/go1.4-syscall </pre> |