Repository navigation
Bend 2.0.39 - #1840
Merged
Merged
Bend 2.0.39#1840
Conversation
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
bend --publishsends only files inside the entry's directory: a../climb, a symlink out of it or aLICENSEthat links out is refusedbefore mining, with no hub request (Security: bend --publish reads and uploads files outside the project directory via climbing foreign imports #1836, PR fix(cli): keep published files inside the entry directory #1838 by oxura).
File.open(path, "x")creates a new file and fails withEEXISTifthe path exists, in one step (File.open: a "x" mode that creates a file and fails if it exists #1821, PR File.open takes "x": create a new file, fail if the path exists (#1821) #1824).
IO.args_bytesgives each argument's bytes, andFile.open_bytesopens a path given as bytes (IO.args turns non-UTF-8 arguments into U+FFFD, so a program can't open a file it was given #1798, PR A non-UTF-8 argument reaches the program as bytes and opens its file (#1798) #1799 byviridale).
Process.runruns through one worker on Bun and Node, so it nolonger ends the run on Node, and a child that leaves stdin unread no
longer hangs it (Process.run ends the run on the Node host instead of running the program #1468, PR Run Process.run through one worker on Bun and Node #1831 by oxura).
bend -oof a!program built 17% slower #1809): it madebend -oof a!program build 17% slower. A full lane fails withERR_DEEPagain, as in 2.0.37.(ty_holds skips a closure in a later instance of the same datatype #1513, PR ty_holds opens a datatype once with DUMMY for its value arguments (#1513) #1542).
another constructor has a box (A read-only walk owns its list when a sum type puts an unboxed field where another constructor has a boxed one #1805, PR A read-only walk borrows its list when a word shares a slot with a box (#1805) #1806 by viridale); a memory
fault ends the program by its signal (SIGSEGV, SIGBUS), not exit 1,
after flushing output (PR Keep native memory faults as fatal signals #1828 by oxura).
IO.get_envrefuses a name with a=, which read part of anothervariable on C and Node (IO.get_env with a "=" in the name reads part of another variable on the C lane and Node #1794, PR fix(io): get_env rejects a name with a "=" #1795 by orezraey).
bend -onever overwrites an input through a hard link or withthe GPU archive
<out>.gpu(PRs fix(cli): reject hard-linked input files as outputs #1797 by sebastian-griego and fix(cli): prevent GPU archives from overwriting inputs #1826 bytoprameen); a
$CCthat is not a usable clang 14+ ends the build withits reason, instead of a silent plain-clang build (bend -o: a $CC that is not a runnable clang is skipped silently, and the build uses plain clang #1802, PR bend -o: a $CC that is not a usable clang ends the build, instead of a silent plain-clang build (#1802) #1804 by
Yi-111-a).
(,;, tuple commasand in nested lambdas, and keeps a generic's
>apart from a following=(PRs fix(formatter): preserve nested lambda body columns #1803 by toprameen, fix(lsp): preserve grouped semicolon body alignment #1811, fix(lsp): preserve body alignment after opening parentheses #1816, fix(lsp): preserve body alignment after tuple commas #1833, fix(lsp): preserve generic closers before assignment #1839 by vicmcorrea).instance (PR BendTT: adequacy, a checked law holds at each closed instance #1627 by ScottMoore0); the guide and BendRT say a hot type
counts the fields of every node, shared or not (One
+on aList<&2, U32>seals everyListcell a native build makes,List<&1, U32>ones included: a loop that shares nothing runs 2x slower #1559, PRs docs(guide): clarify reference counts on unshared fields #1812 byvicmcorrea and BendRT: a hot type counts the fields of every node, shared or not #1813), and BendRT matches the runtime on the corpus, JS
requests and the CUDA cube (BendRT paper: the CPU corpus size and the JS request path differ from comp.ts; a question about the CUDA cube #1822, PR BendRT: the corpus grows from 8 GB, JS requests return, CUDA sizes the cube (#1822) #1823).
🤖 Generated with Claude Code