7a1d9c1263
The Map is to take the Swiss-table layout
2026-09-25 09:44:59 +07:00
931000fcb5
A test binary's own directory is removed twice over before it is checked, so a child still exiting cannot fail the run
2026-09-25 09:44:02 +07:00
af4da764b2
A dev build is to name the raylib resources still loaded at exit
2026-09-25 09:43:52 +07:00
836185a174
A diagnostic's clauses have a fixed order, and a stable kind waits for the docs it would link to
2026-09-25 09:41:24 +07:00
6a1182df5d
A test binary runs under a temporary directory of its own and leaves nothing in the one it was given
2026-09-25 09:40:00 +07:00
ff89f25e48
C-c C-c is to report every error in a form, through an error type that absorbs what it causes
2026-09-25 09:37:16 +07:00
92d63e3b36
Every decision taken in the TODO review is recorded, and NEXT is a keyword the file declares
2026-09-25 09:34:47 +07:00
795ba945d9
A dyn value held beside a sibling that can allocate is rooted until it is used, on every backend
2026-09-25 09:32:34 +07:00
0d629d791f
The array an index or a slice is taken of is rooted while its index runs, when it is a temporary
2026-09-25 09:30:41 +07:00
11dc230974
A defn- is private to its module, and the module's own macros may call it
2026-09-25 08:57:20 +07:00
793b0eea9e
A defn- is private to its module, the package's own macros may write calls to it, and the refusal names the fix
2026-09-25 08:55:37 +07:00
96314accd0
One library pipeline builds every program, one alias names the corpus, and a closed session leaves no directory behind
2026-09-25 08:53:45 +07:00
00f116ea29
Six small refusals and conversions say what the program wrote
2026-09-25 08:41:31 +07:00
376e990689
The prelude's macro module drops a defn- that names a macro, as it drops a defn
2026-09-25 08:40:35 +07:00
6f0f4957f4
The break buffer, the inspector and the watch table show what a stopped program holds
2026-09-25 08:37:15 +07:00
ff744120fc
A release build's watch is only its value, next-error lets go of a stack that has resumed, and the frame a stop is in is always shown
2026-09-25 08:36:53 +07:00
0653f341d0
A dyn value held in an operand list is rooted while a sibling operand may allocate
2026-09-25 08:36:34 +07:00
63f1a1357f
Merge branch 'master' into worktree-agent-ad23aafb29b84cc8b
2026-09-25 08:33:28 +07:00
cb0be62087
An integer written at or above 2^63 is a u64 and nothing else, and vec-new reads a type from its argument only when the builtin is what was called
2026-09-25 07:43:24 +07:00
6fd456c0a2
A function declared with defn- is callable only from the files of its own package
2026-09-25 07:42:40 +07:00
f986c0728a
A test binary names the signal that killed a daemon, and the break buffer keeps its keys under Evil
2026-09-25 07:40:58 +07:00
414e1e5ae6
The temp directory is left to the build-plumbing lane, and under Evil the break buffer takes only the keys it binds
...
The dead-session sweep and the remove-on-close half are dropped: the sweep contradicts the recorded non-goals, and the other lane owns removal on a clean close. The Evil keys are defined per state from the map's own bindings, so special-mode-map's h, SPC, < and - no longer shadow Evil's.
2026-09-25 07:40:33 +07:00
88584f76bc
The records say what the tree does, and an arena grown in place answers to its budget
2026-09-25 07:39:11 +07:00
f83e803ef8
An aggregate that reads its own destination sees the old value on x86, as it does on LLVM
2026-09-25 07:39:03 +07:00
918edfb0b5
plan.org describes containers, pools and classes as they are after the repeal
2026-09-25 07:37:37 +07:00
cf71caefc2
spec-memory.md cites the defer_ok field on the line it is declared
2026-09-25 07:36:57 +07:00
cbd910c117
An arena's budget holds when a block grows in place, and a shrink is never over budget
2026-09-25 07:36:52 +07:00
52681ec58c
Two gaps found on the way are on record: the half-write abort flake and the one-shot commands' empty work directory
2026-09-25 07:33:32 +07:00
cda939c8be
Only a place has an address in the inspector, and a watched dyn value and string are pinned armed
2026-09-25 07:32:25 +07:00
7d75cc0a5d
The CLI and the tests load, check and link a program through one module in the library
2026-09-25 07:30:55 +07:00
54ec52fde6
A dev session that ends cleanly takes its directories with it, and Build.executable says where the IR it kept is
2026-09-25 07:28:34 +07:00
377ada8d27
The inspector says where a slot's value is stored
2026-09-25 07:27:25 +07:00
5477c75909
Three of the four under-load and dogfooding entries are settled, and the fourth records what was tried
2026-09-25 07:24:20 +07:00
37ccca56a3
Every sweep reads the corpus through one alias, and a build that raises is a FAIL line in each of them
...
The sanitizer sweep also lists the five macro programs that run.
2026-09-25 07:23:12 +07:00
85b9f35a66
(watch "name" v) renders any value into the watch table the way print renders it
2026-09-25 07:22:59 +07:00
04f5d5a349
Under Evil, a digit in the break buffer takes the restart, because the buffer's keys take precedence over Evil's
2026-09-25 07:22:42 +07:00
2250548b07
A test that sees a process die on a signal names the signal, not OCaml's number for it
...
OCaml numbers the signals negatively and in its own order: SIGTERM is -11. The globals daemon's "transient signal 11" was a SIGTERM, not a segfault.
2026-09-25 07:21:44 +07:00
991e4423aa
A dev session removes its build directory when it closes, and the next session sweeps the ones whose process is gone
...
Every daemon left about 8MB in $TMPDIR/flan-dev-<pid>. A test_dev run left 300MB, and a few concurrent runs filled the tmpfs /tmp, after which every daemon died on its link before binding. The half-write test's abort also goes through [aborted] now, since an abort that worked can arrive as the socket closing.
2026-09-25 07:19:52 +07:00
7b843f6753
TODO.org records what this lane settled and the one decision it left
2026-09-25 07:17:07 +07:00
f142cfaadf
A u64 constant above 2^63 can be written in decimal, and a cast's integer literal too wide for i32 is read at the cast's type
2026-09-25 07:16:42 +07:00
aa5052e401
A dyn value an expression answers is the reply's value, not the program's output
2026-09-25 07:14:13 +07:00
aa629da2e5
vec-new and map-new take a type expression where they take a type, so (vec-new [u8]) makes a Vec of byte slices
2026-09-25 07:10:48 +07:00
cf028e23ea
A class and each case of a data type are names on the definitions list
2026-09-25 07:09:46 +07:00
b4e19bebf8
A loop's initialisers are checked in order and each sees the names bound before it, as a let's do
2026-09-25 07:06:17 +07:00
8b354d4bc8
The notes say what is built: no pool, frames on x86, implicit widening, and the budget in the spec
2026-09-25 07:05:55 +07:00
9194f918fc
An aggregate that reads its own destination sees the old value, on x86 too
...
x86 built a settling right-hand side straight into its destination, so (set p (P {.a (.b p) .b (.a p)})) wrote .a and read it back for .b. assign now also asks whether the value reads storage the destination lies in, and goes through the temporary when it does. The global-initialiser entry was already closed by startup_plan's Set; the unrooted-temporary entry turns out to be a both-backends rooting gap and stays open for a decision.
2026-09-25 07:05:18 +07:00
2e58880160
The break buffer hides the prelude's frames and opens the source behind a frame
2026-09-25 07:04:56 +07:00
3a3674efb7
A gensym is never the same name twice in one compiler process, however many macro modules it loads
2026-09-25 07:04:10 +07:00
9c0e659209
next-error stops on a diagnostic's notes, and CFn is drawn as a type
2026-09-25 07:01:48 +07:00
6b9d1fa644
A cast of NaN or an infinity to an integer says so by name, on both backends
2026-09-25 06:58:06 +07:00