UCNs in closing delimiters of raw string literals
5.13.5 [lex.string]
Alisdair Meredith

Created on 2009-07-07.00:00:00 last changed 143 months ago


Date: 2010-03-15.00:00:00

[Voted into WP at March, 2010 meeting.]

Date: 2009-10-15.00:00:00

Proposed resolution (October, 2009):

Change 5.3 [lex.charset] paragraph 2 as follows:

Additionally, if the hexadecimal value for a universal-character-name outside the c-char-sequence, s-char-sequence, or r-char-sequence of a character or string literal corresponds to a control character (in either of the ranges 0x00-0x1F or 0x7F-0x9F, both inclusive) or to a character in the basic source character set, the program is ill-formed.
Date: 2009-07-15.00:00:00

Notes from the July, 2009 meeting:

The CWG supported a resolution in which the d-char-sequence of a raw string literal is considered to be outside the literal and thus, by 5.3 [lex.charset] paragraph 2, could not contain a UCN designating a member of the basic source character set.

Date: 2009-07-07.00:00:00

Since members of the basic source character set can be written inside a string using a universal character name, it is not clear whether a UCN that represents ']' or one of the characters in the terminating d-char-sequence should be interpreted as that character or as an attempt to “escape” that character and prevent its interpretation as part of the terminating sequence of a raw character string.

Date User Action Args
2010-03-29 00:00:00adminsetmessages: + msg2653
2010-03-29 00:00:00adminsetstatus: ready -> cd2
2009-11-08 00:00:00adminsetmessages: + msg2335
2009-11-08 00:00:00adminsetstatus: drafting -> ready
2009-08-03 00:00:00adminsetmessages: + msg2190
2009-07-07 00:00:00admincreate