Repository navigation
v0.5.6
Hew v0.5.6
Makes owned-heap dyn Trait values work end-to-end, moves supertrait-dispatch
errors to the checker, and corrects f-string interpolation diagnostics — plus a
round of runtime de-globalization substrate and toolchain-trust work. Several
items were found building software against the shipped v0.5.5 toolchain.
Language
- Owned-heap
dyn Traitboxing works. Coercing a record or enum that owns
heap (astring,Vec,bytes,HashMap/HashSet, a nested aggregate, or an
enum with an owned payload) to adyn Traitnow compiles, runs, and frees
correctly. It previously failed at compile time. The dyn vtable's drop-in-place
slot runs the concrete's structural drop and storage is released at the drop
site. (#1977) - Unsatisfied supertrait dispatch is a checker error. A generic call that
needs a supertrait the concrete type doesn't declare is now rejected at type
check with a clearnot its declared supertraitdiagnostic instead of failing
late in code generation; and a supertrait method implemented inline up the chain
and called through a generic now compiles and dispatches. (#1972)
Diagnostics
- f-string interpolation spans are correct. A syntax error inside
f"{ ... }"now points at the actual source location (its span was previously
local to the interpolation fragment, landing at the wrong byte), and{{/}}
produce a clear diagnostic pointing at Hew's\{/\}literal-brace syntax
instead of a confusing parse cascade. (#1973) - Trait-resolver completeness — aliased associated-type projections resolve,
and a wrong-ownerdyncoercion is corrected. (#1926)
Internals and toolchain
- Runtime de-globalization (substrate). Each actor now carries a non-owning
pointer to its owning runtime, and the off-dispatch entry point is fail-closed:
a multi-runtime resolution that would fall back to the default runtime now traps
rather than mis-delivering. Single-runtime programs are unaffected. (groundwork
for per-runtime isolation) - Suspend-point code generation was de-duplicated for the non-deadline async
constructs (behaviour-preserving). - A curated Miri lane now runs over the runtime's hand-written unsafe data
structures (Rc/Arc/arena/bytes/vec/deque) in CI, covering the aliasing and
provenance axis that ASan and TSan can't. - Subprocess/timing tests were de-flaked by waiting for real conditions
instead of fixed sleeps — including a stream double-poll death test that
intermittently failed under coverage instrumentation.