Deprecate annotation (optional)
Raised also at gtk-doc#94 (closed) .
The nullable and optional annotations were introduced with https://bugzilla.gnome.org/show_bug.cgi?id=660879.
Per https://gi.readthedocs.io/en/latest/annotations/giannotations.html :
- An OUT/INOUT parameter, that can be set to NULL, is (optional);
- A parameter (IN/OUT/INOUT), or return value, that can be set to NULL is (nullable).
Thus:
- A return value or IN parameter, that can be NULL is only (nullable),
- An INOUT or OUT parameter that can be NULL is (optional) and (nullable).
Corollary:
- Marking a parameter as optional, but not as nullable is incomplete annotation.
- There is no need for (optional). If it is OUT or INOUT and (nullable), then it is also (optional).