|
|
409c5f5c0d
|
A read-only slice's diagnostics name (clone v) wherever clone copies the element type
|
2026-09-25 14:31:21 +07:00 |
|
|
|
5646ae148e
|
Merge master; an expression evaluated at a stop runs against a scratch temp arena that is wiped after it, and the program's own temp arena is never rolled back
|
2026-09-25 14:09:30 +07:00 |
|
|
|
b2eb81f7bf
|
A slice or pointer can be read-only, and what it reaches cannot be written through it
|
2026-09-25 13:39:04 +07:00 |
|
|
|
d2f25a6e44
|
Merge branch 'master' into worktree-agent-a9288676abb278ffb
|
2026-09-25 13:35:10 +07:00 |
|
|
|
f3d969618d
|
A class slot can carry a type, and set writes a declared slot
|
2026-09-25 13:32:16 +07:00 |
|
|
|
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 |
|
|
|
5066b8d288
|
The literal an array cannot hold is the element blamed, a negative literal in a generic body names a fix for every instantiation, and a doubly negated literal is positive
|
2026-09-25 13:29:42 +07:00 |
|
|
|
3e09a1f722
|
Merge branch 'master' into worktree-agent-ac750a5e83cab251b
|
2026-09-25 13:18:42 +07:00 |
|
|
|
9aeee9d676
|
Merge branch 'master' into worktree-agent-a6ffe579d55d1892b
|
2026-09-25 13:16:58 +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 |
|
|
|
9394a26449
|
A negative literal fits no unsigned type, u64 included, and the refusal names the cast that writes its bit pattern, which a constant now folds
|
2026-09-25 13:02:50 +07:00 |
|
|
|
325c3662a8
|
A numeric type's limits are (max-value T) and (min-value T), and an array literal of numbers with no common type is refused with the conversion named
|
2026-09-25 12:56:02 +07:00 |
|
|
|
e7b01ea01c
|
Merge branch 'master' into worktree-agent-adcfc27e0ceac8df4
|
2026-09-25 12:55:56 +07:00 |
|
|
|
16427f8d07
|
A class slot may be a class or an Option, an int widens into a float slot when exact, a gained typed slot starts at its zero, and a migration never re-enters itself
|
2026-09-25 12:55:25 +07:00 |
|
|
|
59a0fc80de
|
Only a string the checker marks as a literal reaches C uncopied, a slice of dyn is refused at its clone, and the context allocator holds an incarnation so a restored context whose arena was destroyed traps
|
2026-09-25 12:55:18 +07:00 |
|
|
|
35f455acb3
|
The's refusal of a dyn says what the boundary does at that type, elements that cannot become a dyn are refused against each other, two literal arms meet at the wider type, and the renamed prelude function and a second startup warning stay out of sight
|
2026-09-25 12:49:02 +07:00 |
|
|
|
acec25f8a1
|
Merge master
|
2026-09-25 12:43:50 +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 |
|
|
|
aedd50c646
|
Merge branch 'master' into worktree-agent-ac750a5e83cab251b
# Conflicts:
# lib/check.ml
|
2026-09-25 12:17:58 +07:00 |
|
|
|
1d219b526c
|
Merge master into the typed class slots lane
|
2026-09-25 12:14:42 +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 |
|
|
|
5c0698d749
|
(max-of T) and (min-of T) are a numeric type's limits, at a concrete type or a type variable the bound admits, and given a slice they are still the prelude's reductions
|
2026-09-25 12:00:42 +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 |
|
|
|
2ea47f91eb
|
A program's function named as a prelude function takes the name over for its own file, with a warning, and the prelude's own calls keep the prelude's
|
2026-09-25 11:51:58 +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 |
|
|
|
c671bba490
|
(the T e) gives any expression its type, and an array literal nothing names is typed when its elements agree and a dyn vector when they mix
|
2026-09-25 11:47:28 +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 |
|
|
|
cb83014715
|
(clone xs) copies any slice's elements into a block from the context allocator or a named one, through the lowering (bytes s) uses
|
2026-09-25 11:40:42 +07:00 |
|
|
|
2682214499
|
A defclass slot may declare a type that every store into it checks, and set writes a declared slot
|
2026-09-25 11:40:08 +07:00 |
|
|
|
3cb6cebdbe
|
(- x) negates a typed number, a type variable and a dyn, and a float's negation of zero is -0.0
|
2026-09-25 11:37:56 +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 |
|
|
|
de26d6e625
|
~~@xs splices an unquote per element, a session can call a macro an expansion defined, and an enum member cannot be named else
|
2026-09-25 11:24:27 +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 |
|
|
|
8bebff61eb
|
Merge branch 'master' into worktree-agent-a8f88805fa4af49cf
|
2026-09-25 11:01:36 +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 |
|
|
|
08545c757f
|
cond is a special form again because the prelude relies on it, and until is a prelude macro because only programs use it
|
2026-09-25 10:48:40 +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 |
|
|
|
222dc0ae90
|
A loop, dotimes, match, macro, class or generic binding that starts with $ is refused too
|
2026-09-25 10:37:43 +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 |
|
|
|
7abe760288
|
cond and until are prelude macros, and a macro module holds only the macros its forms reach
|
2026-09-25 10:28:32 +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 |
|
|
|
0167fcef43
|
A quasiquote inside a quasiquote nests, and a macro that writes a macro defines one the program can call
|
2026-09-25 10:14:41 +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 |
|
|
|
b153f325b8
|
A declared name that starts with $ is refused where it is declared
|
2026-09-25 10:04:23 +07:00 |
|