This is not very helpful:
=item Ambiguous use of %c{%s%s} resolved to %c%s%s
especially since it is functionally identical to the previous entry:
=item Ambiguous use of %c{%s} resolved to %c%s
Not only can diagnostics.pm never find it, but it is hard for human
beings to understand what the different is at first glance, too.
So filling in the second and fourth %s’s with the two possible values
slays a twain of avians with one piece of petrified matter.
function, write C<@{foo()}> ... or you could just not have a variable
and a function with the same name, and save yourself a lot of trouble.
-=item Ambiguous use of %c{%s%s} resolved to %c%s%s
+=item Ambiguous use of %c{%s[...]} resolved to %c%s[...]
+
+=item Ambiguous use of %c{%s{...}} resolved to %c%s{...}
(W ambiguous) You wrote something like C<${foo[2]}> (where foo
represents the name of a Perl keyword), which might be looking for
const char * const brack =
(const char *)
((*s == '[') ? "[...]" : "{...}");
+ /* diag_listed_as: Ambiguous use of %c{%s[...]} resolved to %c%s[...] */
Perl_warner(aTHX_ packWARN(WARN_AMBIGUOUS),
"Ambiguous use of %c{%s%s} resolved to %c%s%s",
funny, dest, brack, funny, dest, brack);