Released vibe.d 0.9.8

Sönke Ludwig sludwig at outerproduct.org
Mon Feb 19 08:52:52 UTC 2024


Am 19.02.2024 um 00:48 schrieb aberba:
> On Friday, 16 February 2024 at 17:17:35 UTC, Sönke Ludwig wrote:
>> Just a quick announcement for a new vibe.d release that, probably most 
>> notably, gets rid of most DIP1000 related... as well as requiring REST 
>> interfaces to be fully @safe.
> 
> How does this affect regular code? What are the implications?

Generally speaking, what has been a `pragma(msg)` based deprecation 
warning during the build for a long time already, now has become a hard 
error (`static assert(false)`). The error should come with the template 
instantiation chain and thus should make it simple to pinpoint the piece 
of code that is `@system`.

The concrete implications are that all interface methods passed to 
`registerRestInterface` must be annotated with `@safe`, as well as all 
functional attributes (`@before`/`@after`) and all serialized types that 
are part of the interface (e.g. the `toJson`/`fromJson` methods of a 
custom struct that gets returned from an interface function).


More information about the Digitalmars-d-announce mailing list