On Tue, Jan 15, 2019 at 10:15:22AM -0500, Jason Merrill wrote:
> On 1/14/19 11:09 PM, Tom Honermann wrote:
> > On 1/4/19 7:25 PM, Martin Sebor wrote:
> > > On 12/27/18 1:49 PM, Tom Honermann wrote:
> > > > As requested by Jason in the review of the P0482 (char8_t) core
> > > > language changes, this patch includes updates to the error
> > > > messages emitted for ill-formed cases of array initialization
> > > > with a string literal.  With these changes, error messages that
> > > > previously looked something like these:
> > > > 
> > > > - "char-array initialized from wide string"
> > > > - "wide character array initialized from non-wide string"
> > > > - "wide character array initialized from incompatible wide string"
> > > > 
> > > > now look like:
> > > > 
> > > > - "cannot initialize array of type 'char' from a string literal
> > > > with type array of 'short unsigned int'"
> > > 
> > > The first word "type" doesn't quite work here.  The type of every
> > > array is "array of T" where T is the type of the element, so for
> > > instance, "array of char."  Saying "array of type X" makes it sound
> > > like X is the type of the whole array, which is of course not
> > > the case when X is char.  I think you want to use the same wording
> > > as for the second type:
> > > 
> > >   "cannot initialize array of 'char' from a string literal with
> > >   type array of 'short unsigned int'"
> > > 
> > > or perhaps even better
> > > 
> > >   "cannot initialize array of 'char' from a string literal with
> > >   type 'char16_t[N]'"
> > > 
> > > (i.e., show the actual type of the string, including its bound).
> > 
> > Thank you for the feedback, Martin; sorry for the delayed response. I'll
> > follow up with a revised patch within the next week or two.
> 
> I actually incorporated the C++ part of these changes into yesterday's
> commit, using Martin's first suggestion.  Here's the adjusted C patch, which
> I'd like a C maintainer to approve.

Patch is OK, thanks.

Marek

Reply via email to