Scala:如何在文字中转义反引号?

Scala: How to escape a backtick in a literal?

Scala 中的文字允许定义标识符,如answer所述。有没有办法在文字中转义反引号 ` ?做类似的事情:

 val `hello `world` = "hello world"

更新:
其中一个用例是将 refined 库用于一些匹配包含反引号的正则表达式的精炼类型,例如:

  import eu.timepit.refined._
  import eu.timepit.refined.api.Refined

  type MatchesRegexWithBacktick = String Refined MatchesRegex[W.`(a|`)`.T]

Scala 编译器无法按原样完成,但也许使用更改标识符解析方式的编译器插件(也许如果back-tick 的功能不知何故被一些晦涩的 unicode 字符所取代。

Scala SLS 1.1中,有标识符的词法语法:

op       ::=  opchar {opchar}
varid    ::=  lower idrest
boundvarid ::=  varid
             | ‘`’ varid ‘`’
plainid  ::=  upper idrest
           |  varid
           |  op
id       ::=  plainid
           |  ‘`’ { charNoBackQuoteOrNewline | UnicodeEscape | charEscapeSeq } ‘`’
idrest   ::=  {letter | digit} [‘_’ op]

问题是,唯一允许除字母、数字或 _ 以外的任何字符的规则是要求标识符用反引号引起来的规则:

‘`’ { charNoBackQuoteOrNewline | UnicodeEscape | charEscapeSeq } ‘`’

但是,它明确不允许使用 charNoBackQuoteOrNewline 进行反引号,如果您认为可以使用 UnicodeEscape 解决它,那也不起作用:

scala> val `hello \u0060world` = "hello world"
<console>:1: error: unclosed quoted identifier
val `hello \u0060world` = "hello world"
                      ^