<p dir="auto">by <strong>phmmnd</strong>:</p>
<pre class="notranslate">What steps will reproduce the problem?

1. Start a fake syslog server using openbsd netcat: nc -kl 1234
2. Run the program at <a href="http://play.golang.org/p/ADb0RmfVYI" rel="nofollow">http://play.golang.org/p/ADb0RmfVYI</a>, which attempts to log a
message over syslog every second, and reports the returned error.
3. Kill the netcat session.
4. Note that the test program continues to send messages without reconnecting or
reporting any errors.

What is the expected output?

According to the docs the connection should be retried once for each log message. In any
case an error should be returned to the calling code.

What do you see instead?

No errors or reconnections.

Which compiler are you using (5g, 6g, 8g, gccgo)?

6g

Which operating system are you using?

Darwin (Mac OS X 10.7.5)

Which version are you using?  (run 'go version')

go version go1.1.1 darwin/amd64

Please provide any additional information below.

The "(w *Writer) write" method in log/syslog always returns a nil error, which
means all of the error handling and retry code in "(w *Writer) writeAndRetry"
can never be called.</pre>
<pre class="notranslate">Append this code to go/types/api_test.go and run it.

LookupFieldOrMethod, contra its spec, returns pointer-receiver methods even when invoked
with a non-pointer named type.  (This is something like the "implicit &amp;"
rule, but this is not the right place for that logic since that rule only applies to
addressable values of type T.)

func TestLookupFieldOrMethod(t *testing.T) {
    const src = `package P; type T int; func (*T) f() {}`
    pkg, err := pkgFor("test", src, nil)
    if err != nil {
        t.Fatal(err)
    }
    T := pkg.Scope().Lookup("T").Type()
    obj, index, indirect := LookupFieldOrMethod(T, pkg, "f")
    fmt.Println(T, obj, index, indirect) // P.T func (*P.T).f() [0] false
    t.Fail()
}</pre>