<pre class="notranslate">package p
type F1 func(i int) (i int)
type F2 func(i int, i int) (i int)
type F3 func(i int) (i int, i int)

Compiling this with 6g gives an error "duplicate argument i" for the F2 and F3
lines, but does not give an error for the F1 line.  I think that either all or none
should give errors.

My reading of the spec is that none should give errors.  The spec does not say anything
about the parameter names in a function type.  It is implied that they serve only as
comments.  So I think the correct action is to change F2 and F3 to not give errors.

But it would also be OK with me to change the spec and to make F1 give an error.

(Of course all three should and do give an errors when used in a function declaration
rather than a function type declaration.)</pre>
<p dir="auto">by <strong>yunge.fu</strong>:</p>
<pre class="notranslate">When http.Client receives http redirect response, it just copy part of origin Headers,
such as "Referer", for the new Request.
But sometimes people need original or custom Headers, such as UserAgent, by now
http.Client will always use defaultUserAgent.

I think just copy the original Header for the new Request is a better way.

The related code is in:
<a href="http://golang.org/src/pkg/net/http/client.go" rel="nofollow">http://golang.org/src/pkg/net/http/client.go</a>, func doFollowingRedirects()</pre>