$ the-wire · showcase
x/crypto ssh/terminal gets go fix inlines, riscv64 jumps corrected
By RepoJournal · Filed · About Go · Composed from the cited sources · methodology
Deprecated ssh/terminal now rewrites its callers to x/term automatically, while fixes land for a corrupted riscv64 jump decoder, a hovertrap on escaped rune literals, and Go 1.28 inferred composite literals in the inliner.
ssh/terminal: add //go:fix inline directives golang/crypto
golang/crypto's ssh/terminal is deprecated in favor of golang.org/x/term and its types and functions only forward there, so the package now carries //go:fix inline directives that let go fix rewrite callers to x/term directly, the same treatment x/net/context got. The ErrPasteIndicator variable cannot be inlined and is left unannotated.
riscv64: fix c.j offset decoding golang/arch
The riscv64 decoder pulled inst[5:2] where the spec puts imm[3:1] in inst[5:3], shifting the immediate by one bit and producing wrong jump targets for c.j. Anything relying on golang.org/x/arch to decode compressed jumps was reading the wrong address.
internal/refactor/inline: handle go1.28 inferred {...} literals golang/tools
In go1.28 a composite literal may have no explicit type and be inferred top-down, so the inliner now detects that case and adds the explicit type (T{...} or &E{...}) or a conversion, T({...}), whenever a literal is substituted or an inlined return operand is moved. The callee summary records the needed information.
gopls/internal/golang: fix hover on rune literals with byte escapes >= 0x80 golang/tools
Hovering a rune literal with a hex or octal byte escape for a non-ASCII character such as '\xc6' or '\306' returned a "rune error", because hoverConstantExpr went through strconv.Unquote and utf8.DecodeRuneInString, which returns raw bytes for single-byte escapes rather than UTF-8.
text/template: fix errorf consuming verbs from user input golang/go
text/template's errorf prepended user input to the formatting string, so verbs inside that input consumed the formatting args before the real error was formatted. The input is no longer passed as format text.
windows: fix PSAPI_WORKING_SET_EX_BLOCK bit accessors golang/sys
Quiet elsewhere: golang/sys's PSAPI_WORKING_SET_EX_BLOCK accessors (Shared, Locked, LargePage, Bad) compared a masked bit against 1 and therefore always returned false, now compared against 0 with table tests over the bit positions.