A few things on this:
I think it should be the created type's decision on whether to allow, or not, multiple 'char' literals.
Also, this should be a completely new literal type, with its own
ExpressibleBy*Literalprotocol, or protocols.
Possible names I can think of are
ExpressibleByCodepointLiteralfor the single 'char' case, and
ExpressibleByTextLiteralfor the multiple 'char' case.
As for real world advantages of 'char' literals, I think some standards use integer discriminators where the ASCII interpretation of the value is correlated with its semantic meaning, and if putting that sort of data in code, it would be better to use the more readable ASCII in source, instead of a raw number.