c6ad71dc5b
A value that owns storage is never copied out of read-only storage, and two arguments at one type variable meet at const
2026-09-25 13:30:47 +07:00
0358f6637c
Merge branch 'master' into worktree-agent-ad097f67134ba0552
2026-09-25 13:15:36 +07:00
1e5be63a1a
An array reached through read-only storage slices to a [const T], a Vec or Map copied out of one stays read-only through lets, and an if's const and writable branches meet at const in either order
2026-09-25 13:08:29 +07:00
e7b01ea01c
Merge branch 'master' into worktree-agent-adcfc27e0ceac8df4
2026-09-25 12:55:56 +07:00
9ba99d7d5b
A dev build puts every closure handed to a named call on the collector's heap, since a redefinition can make the callee keep it
2026-09-25 12:55:56 +07:00
d8945ae4ae
The address of read-only storage is a (Ptr const T), which nothing is written through and which a C const T * parameter takes
2026-09-25 12:43:04 +07:00
c6cb018b9f
Only a closure that outlives its frame takes a collector environment, and the collector reads a Vec's elements only through a block it knows is live
2026-09-25 12:12:25 +07:00
c0b4b22357
Growing, shrinking or freeing a container reached through a [const T] is refused, and a function that only reads a slice stands where one that may write it is wanted
2026-09-25 12:10:47 +07:00
6e8cc52bc7
Merge branch 'master' into worktree-agent-ad097f67134ba0552
2026-09-25 12:02:48 +07:00
f629123561
A lowercase vec, ptr, option or map over types in a return slot is a near miss for its constructor, and a bare && is written back as the (and) that compiles
2026-09-25 11:56:56 +07:00
3892f1ed34
Merge master
2026-09-25 11:50:29 +07:00
d6217830ff
A defn whose body stands in its return slot is told it has no return type, a misspelled type constructor is a near miss, and not=, ==, &&, || and their kin name the Flan builtin that computes the same thing
2026-09-25 11:50:23 +07:00
7cf57eb8ba
A read-only slice refuses a dyn view without promising one later, and taking a read-only element's address is recorded as an open decision
2026-09-25 11:49:17 +07:00
2ff1da88da
A slice can be read-only: bytes-view answers a [const u8], and a store through one is refused at compile time
2026-09-25 11:43:41 +07:00
5062052425
Raylib's strings, models, file lists and matrix stack are bound, and a dev build can name what is still loaded at exit
2026-09-25 11:28:02 +07:00
05d86b243f
A library resource is known by its identifying field, a Get or a consuming Load is counted as raylib means it, bare pointers are not resources, the report waits for FLAN_DEV_LEAKS, and a release build emits the code it did before the tracker
2026-09-25 11:27:41 +07:00
9e26275f9b
A quasiquote nests as SBCL's does, a match takes an enum, and until is a prelude macro
2026-09-25 11:27:14 +07:00
494c57d764
Merge branch 'master' into worktree-agent-ae2997a1e90aa9e02
2026-09-25 11:18:12 +07:00
840b3b215e
A Map's churn test fails a table that doubles instead of sweeping, and nothing recalled is cited as read
2026-09-25 11:18:12 +07:00
389e93ff09
A capturing fn's environment belongs to the collector, so a closure may outlive the frame that made it
2026-09-25 11:13:57 +07:00
d03b02b347
Merge master
2026-09-25 11:12:30 +07:00
0d771494a6
Merge branch 'master' into worktree-agent-a8f5ad274482eeb9c
2026-09-25 11:07:02 +07:00
8bebff61eb
Merge branch 'master' into worktree-agent-a8f88805fa4af49cf
2026-09-25 11:01:36 +07:00
3f30b82bcb
A return computes its value before its defers, and a dozen small refusals and constants say what the program meant
2026-09-25 10:54:09 +07:00
2f3544e7f5
Code after a return emits nothing, a wide element names the u64 array, and $ is refused in fn, handler, :keys and & binders
2026-09-25 10:53:52 +07:00
0a6ea7c32b
A caller excused for going stale takes back the generic copies its failed check cached, and a package's stale callers are named at their own file and line
2026-09-25 10:51:44 +07:00
fe20f68ada
The runtime's races are driven by tests, a destroyed arena's record is reused, and a dyn index names its site
2026-09-25 10:51:08 +07:00
a49ed2243a
Merge branch 'master' into worktree-agent-a4be641f87966b149
2026-09-25 10:48:05 +07:00
0863b62711
A string returned from C is copied into the context allocator, Model, Mesh and FilePathList cross the raylib boundary, rlgl's matrix stack is a package, and a dev build reports the library resources a program never released
2026-09-25 10:44:49 +07:00
39d35f51db
A function whose signature changed installs, and a caller compiled against the old one stops on StaleCall at the call
...
A dev cell carries its body's signature word beside the body, every call through a cell (and every function value taken from one) compares it with the word the site was compiled for, and the session lists the stale callers by file and line on the reply. Both backends, both installers; release builds have neither the word nor the compare.
2026-09-25 10:40:18 +07:00
e9e151e1a4
A match over an enum names its members as keywords and is refused when it misses one
2026-09-25 10:33:22 +07:00
83b244475a
A refusal that suggests a fix suggests one that compiles, for vec-new, map-new and a near miss that is a value
2026-09-25 10:30:52 +07:00
6c9635cd53
A wide literal is refused for its range as an enum member, names the u64 cast where a dyn is wanted, and comes back wide from a macro
2026-09-25 10:26:03 +07:00
5581bafacb
A dyn at, set-at or push that traps names the file, line and column it was written at
2026-09-25 10:25:28 +07:00
dd160aa31b
A return computes its value before it runs its defers
2026-09-25 10:19:09 +07:00
e511174d3c
No top-level value in the compiler goes unreferenced
2026-09-25 10:16:25 +07:00
d006a8b480
An array literal's first element types the rest, constant arithmetic folds at a bounded type variable, and a pointer or a plain union takes a byte fill
2026-09-25 10:14:24 +07:00
4a292b5a73
f64-inf, f64-nan, f32-inf and f32-nan are constants the compiler supplies
2026-09-25 10:07:22 +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
00f116ea29
Six small refusals and conversions say what the program wrote
2026-09-25 08:41:31 +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
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
85b9f35a66
(watch "name" v) renders any value into the watch table the way print renders it
2026-09-25 07:22:59 +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
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
45cc4d20e8
One file holds what five did
...
# Conflicts:
# FIX.org
2026-09-21 21:07:40 +07:00