devel/cdecl: update to 17.0.1
ChangeLog:
16.4.1 -> 17.0
Abbreviated function template parameter packs
Functions with auto parameters (abbreviated function templates) like:
int f( auto x )
have been supported since cdecl 9.6; this release adds additional support for parameter packs like:
int f( auto ...x )
Added help option suggestions
Added suggestions to error messages for the help options commands, english, and options, for example:
cdecl> help eglish
^
6: "eglish": no such command or option; did you mean "english"?
Constrained auto
For abbreviated function templates, constrained auto declarations are now supported:
c++decl> explain C auto x
declare x as concept C
c++decl> explain C auto ...x
declare x as concept C parameter pack
auto parameters in typedefs
Use of auto in typedef function-like parameters is now correctly reported as an error:
c++decl> typedef int F(auto)
^
15: error: "auto" illegal in type definition
decltype declarations
Now recognizing decltype just to say it's not supported.
Glob help
The help text now defines "glob."
GNU --version
Now printing cdecl copyright year, author, license, free software statement, and no warranty statement to conform to the GNU Coding Standards; see https://www.gnu.org/prep/standards/html_node/_002d_002dversion.html.
Structured binding declarations
Structured binding declarations are now supported except that you don't assign them from anything (no = expression):
c++decl> explain auto [x, y]
declare x, y as structured binding
c++decl> explain auto&& [x, y]
declare x, y as rvalue reference to structured binding
Fixed operator declaration core dump
An invalid scoped operator name containing a keyword like:
c++decl> explain bool int::operator!()
would dump core; fixed.
Fixed --west-decl=t for pointer to const pointer
Given:
c++decl --west-decl=t 'declare p as pointer to const pointer to int'
you'd incorrectly get:
int *const *p;
You now correctly get:
int* const* p;
17.0 -> 17.0.1:
Fixed returning parameter packs
Functions returning parameter packs is now correctly illegal.