enh(go) add min, max, and clear built-in functions (Go 1.21) - #4528
Open
dylanpulver wants to merge 1 commit into
Open
enh(go) add min, max, and clear built-in functions (Go 1.21)#4528dylanpulver wants to merge 1 commit into
dylanpulver wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
src/languages/go.js'sBUILT_INSlist is missing the three built-in functions Go added in 1.21 (Aug 2023):clear,max, andmin. The Go spec's "Built-in functions" section lists all ofappend, cap, clear, close, complex, copy, delete, imag, len, make, max, min, new, panic, print, println, real, recover; the grammar has every one except those three.Effect on current
main—min,max,clearare highlighted as plain identifiers, whilelen/append(also predeclared, and already in the list) getbuilt_in:Fix adds the three names to
BUILT_INS, in their alphabetical slots. They're predeclared identifiers (shadowable), exactly like thelen/cap/appendentries already treated asbuilt_in, so this is consistent with existing behaviour.Added a
test/markup/go/builtinsfixture covering the three new builtins pluslen/appendas controls; it fails onmain(onlyclear/min/maxdiffer) and passes with the change. Fullgomarkup suite green,lint-languagesclean.Checklist
Assisted-by: Claude Opus 5 (high)