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).

Reply via email to