mem: typed allocation helpers + drop bare malloc/free (Phase 2.2); resolve 0119 as |>-contract clarification
This commit is contained in:
@@ -1,5 +1,21 @@
|
||||
# 0119 — UFCS dot-call on a GENERIC free function: "unresolved '<name>'"
|
||||
|
||||
> **RESOLVED — not a bug** (2026-06-11, Agra language ruling, same
|
||||
> session). Dot-form UFCS on generic free functions is NOT the language
|
||||
> contract: UFCS free-function dot-dispatch is the annotated mechanism
|
||||
> (`name :: ufcs target;`, concrete targets), and the FLUENT spelling
|
||||
> for free functions is the pipe operator — `xs |> first_of()` desugars
|
||||
> at parse time to `first_of(xs)`, which dispatches generics through
|
||||
> the normal monomorphization machinery (verified:
|
||||
> `context.allocator |> create(Session)` works). specs.md §UFCS
|
||||
> corrected (it overstated "works with ... generic functions" for the
|
||||
> dot form). No compiler change. MEM Phase 2.2 unblocked — helpers
|
||||
> shipped as free functions with the direct + `|>` contract
|
||||
> (examples/0838-memory-helpers.sx pins both spellings).
|
||||
> Residual corner (not contracted, unfiled): a `ufcs` ALIAS naming a
|
||||
> generic target also doesn't dot-dispatch; file separately if ever
|
||||
> wanted.
|
||||
|
||||
## Symptom
|
||||
|
||||
`obj.func(args)` where `func` is a generic free function (any `$T` in its
|
||||
|
||||
Reference in New Issue
Block a user