From 52503d24c2392eab175027751fe5d2c3814d4124 Mon Sep 17 00:00:00 2001 From: Rodin Date: Wed, 6 May 2026 17:17:20 -0700 Subject: [PATCH] fix: update drifted file:line citations to match current golang/go source MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Audited all file:line citations against golang/go HEAD. 97 citations checked; 9 had drifted by 1-20 lines (off-by-one or small structural shifts in the stdlib source). Updated both inline code block comments and corresponding GitHub #L anchor links. Changes per file: patterns/api-conventions.md - strings/builder.go WriteString (92→112), String (48→46) patterns/configuration.md - crypto/tls/common.go Time field (572→575) patterns/documentation.md - net/http/server.go Handler comment (64→65), os/file.go example (17→16) patterns/structs.md - os/types.go File struct (16→15), strings/builder.go copyCheck (25→32) patterns/style.md - net/http/server.go TLSConfig (3041→3040), import block (8→9) --- patterns/api-conventions.md | 4 ++-- patterns/configuration.md | 4 ++-- patterns/documentation.md | 8 ++++---- patterns/structs.md | 8 ++++---- patterns/style.md | 8 ++++---- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/patterns/api-conventions.md b/patterns/api-conventions.md index 7b43bee..2e17654 100644 --- a/patterns/api-conventions.md +++ b/patterns/api-conventions.md @@ -247,14 +247,14 @@ type Builder struct { buf []byte } -// strings/builder.go:92-96 +// strings/builder.go:112-116 func (b *Builder) WriteString(s string) (int, error) { b.copyCheck() b.buf = append(b.buf, s...) return len(s), nil } -// strings/builder.go:48-50 +// strings/builder.go:46-48 func (b *Builder) String() string { return unsafe.String(unsafe.SliceData(b.buf), len(b.buf)) } diff --git a/patterns/configuration.md b/patterns/configuration.md index cddbb1e..cb1210f 100644 --- a/patterns/configuration.md +++ b/patterns/configuration.md @@ -763,10 +763,10 @@ default behavior." ### Source: -[crypto/tls/common.go#L572](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/crypto/tls/common.go#L572) +[crypto/tls/common.go#L575](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/crypto/tls/common.go#L575) ```go -// src/crypto/tls/common.go:572 +// src/crypto/tls/common.go:575 // Time returns the current time as the number of seconds since the epoch. // If Time is nil, TLS uses time.Now. Time func() time.Time diff --git a/patterns/documentation.md b/patterns/documentation.md index ad03ba5..ecdad79 100644 --- a/patterns/documentation.md +++ b/patterns/documentation.md @@ -86,7 +86,7 @@ too many sections (fragmenting simple docs). **Pattern name:** `// TypeName verb...` or `// FuncName verb...` -**Source citation:** [net/http/server.go#L64](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/net/http/server.go#L64) (Handler), [bufio/scan.go#L14](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/bufio/scan.go#L14) (Scanner) +**Source citation:** [net/http/server.go#L65](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/net/http/server.go#L65) (Handler), [bufio/scan.go#L14](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/bufio/scan.go#L14) (Scanner) **What it does:** Every exported identifier's doc comment starts with the identifier name, followed by a verb phrase describing what it does or represents. @@ -102,7 +102,7 @@ the comment entirely. **Code examples from source:** ```go -// net/http/server.go:64 +// net/http/server.go:65 // A Handler responds to an HTTP request. // bufio/scan.go:14-17 @@ -280,7 +280,7 @@ func ExampleHandle() { **Pattern name:** Indented Code Blocks in Comments -**Source citation:** [os/file.go#L17](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/os/file.go#L17), [time/time.go#L928](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/time/time.go#L928) +**Source citation:** [os/file.go#L16](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/os/file.go#L16), [time/time.go#L928](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/time/time.go#L928) **What it does:** Doc comments include indented code snippets (4 spaces) that render as preformatted code blocks in godoc. @@ -294,7 +294,7 @@ for inline (use Example functions instead); examples that reference unexported s **Code examples from source:** ```go -// os/file.go:17-21 +// os/file.go:16-21 // Here is a simple example, opening a file and reading some of it. // // file, err := os.Open("file.go") // For read access. diff --git a/patterns/structs.md b/patterns/structs.md index 64fb295..6ec9cc6 100644 --- a/patterns/structs.md +++ b/patterns/structs.md @@ -128,7 +128,7 @@ type Buffer struct { **Pattern name:** Indirection via Unexported Impl -**Source citation:** [os/types.go#L16](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/os/types.go#L16), [os/file_unix.go#L59](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/os/file_unix.go#L59) +**Source citation:** [os/types.go#L15](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/os/types.go#L15), [os/file_unix.go#L59](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/os/file_unix.go#L59) **What it does:** The exported type (`File`) embeds a pointer to an unexported type (`*file`) that holds the real implementation state. Users interact only with the @@ -145,7 +145,7 @@ public API. **Code example from source:** ```go -// os/types.go:16-20 +// os/types.go:15-20 // File represents an open file descriptor. // // The methods of File are safe for concurrent use. @@ -487,7 +487,7 @@ type Client struct { **Pattern name:** copyCheck (Runtime Copy Detection) -**Source citation:** [strings/builder.go#L25](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/strings/builder.go#L25) +**Source citation:** [strings/builder.go#L32](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/strings/builder.go#L32) **What it does:** On first mutation, the Builder records its own address. Subsequent mutations compare the current receiver address against the recorded one. If they @@ -503,7 +503,7 @@ buffer), a runtime check is the pragmatic solution. **Code example from source:** ```go -// strings/builder.go:25-40 +// strings/builder.go:32-40 func (b *Builder) copyCheck() { if b.addr == nil { b.addr = (*Builder)(abi.NoEscape(unsafe.Pointer(b))) diff --git a/patterns/style.md b/patterns/style.md index 09ffedb..0e76868 100644 --- a/patterns/style.md +++ b/patterns/style.md @@ -36,7 +36,7 @@ const shutdownPollIntervalMax = 500 * time.Millisecond **Pattern name:** Acronym Capitalization -**Source citation:** [net/http/request.go#L130](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/net/http/request.go#L130) (`URL`), [net/http/server.go#L3041](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/net/http/server.go#L3041) (`TLSConfig`), [encoding/json/stream.go#L280](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/encoding/json/stream.go#L280) (`JSON`) +**Source citation:** [net/http/request.go#L130](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/net/http/request.go#L130) (`URL`), [net/http/server.go#L3040](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/net/http/server.go#L3040) (`TLSConfig`), [encoding/json/stream.go#L280](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/encoding/json/stream.go#L280) (`JSON`) **What it does:** Acronyms and initialisms (URL, HTTP, ID, JSON, XML, HTML, TLS, TCP) are always fully capitalized when exported, and fully lowercased when unexported. @@ -55,7 +55,7 @@ URL *url.URL // net/http/request.go:822 func ParseHTTPVersion(vers string) (major, minor int, ok bool) -// net/http/server.go:3041 +// net/http/server.go:3040 TLSConfig *tls.Config // encoding/json/stream.go:280 @@ -613,7 +613,7 @@ checking in code that `gofmt` would modify. **Pattern name:** Grouped Imports (stdlib / external / internal) -**Source citation:** [net/http/server.go#L8](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/net/http/server.go#L8) +**Source citation:** [net/http/server.go#L9](https://github.com/golang/go/blob/17bd5ab8c650155dd2bd09f7005726552639eea0/src/net/http/server.go#L9) **What it does:** Imports are organized in groups separated by blank lines: 1. Standard library @@ -628,7 +628,7 @@ external). Reduces merge conflicts. **Code example from source:** ```go -// net/http/server.go:8-36 +// net/http/server.go:9-36 import ( "bufio" "bytes"