Closed
Description
Scala 2.13.7
According to the spec https://www.scala-lang.org/files/archive/spec/2.13/13-syntax-summary.html
all these should be parsed (except commented OK compiler error).
Scala 2.13.7 compiler produces errors where I placed the comments.
//all ok
class A0 {
val ⚕ = 1 // category: So other
val ∀ = 1 // category: Sm math
val 𝓅 = 1 // category: Ll math (suppl)
val 𐐀 = 1 // category: Lu (suppl)
val ⚕⚕⚕ = 1
val ∀∀∀ = 1
val 𝓅𝓅𝓅 = 1
val 𐐀𐐀𐐀 = 1
}
class A1 {
val a_⚕ = 1
val a_∀ = 1
// FALSE compiler error
// lower `a` + lower `_` + suppl upper/lower letter from cat `Ll | Lu'
val a_𝓅 = 1
val a_𐐀 = 1
}
class A2 {
// OK compiler error
// lower `_` + op `⚕ | ∀` should be separated with an extra `_`
//val _⚕ = 1
//val _∀ = 1
// FALSE compiler error
// lower `_` + suppl upper/lower letter from cat `Ll | Lu'
val _𝓅 = 1
val _𐐀 = 1
}
class A3 {
//OK
val __⚕ = 1
val __∀ = 1
// FALSE compiler error
// lower `_` + lower `_` + suppl upper/lower letter from cat `Ll | Lu'
val __𝓅 = 1
val __𐐀 = 1
}
All false compiler errros are OK Java identifiers:
//java compiles just fine
class MyJava {
public void 𝓅() {}
public void 𐐀() {}
public void 𝓅𝓅𝓅() {}
public void 𐐀𐐀𐐀() {}
public void a_𝓅() {}
public void a_𐐀() {}
public void _𝓅() {}
public void _𐐀() {}
public void __𝓅() {}
public void __𐐀() {}
}
relates to:
#12482
#1406
scala/scala#9687