Scala 3 error: “Class differs only in case” (case-insensitive filesystems)

I was surprised to see this Scala 3 compiler error just now:

Class differs only in case ... Such classes will
overwrite one another on case-insensitive filesystems

What happened was that I created this code:

trait Hello:
    def greet = "hello"
trait Hi:
    def greet = "hi"

class Greeter extends Hello, Hi:
    override def greet = "I greet thee!"
    
@main def greeter =
    val g = Greeter()
    println(g.greet == "I greet thee!")   // true

And apparently the Greeter class and greeter method collide with one another to create this compiler error message:

[error] -- Error: src/main/scala/traits/mixin_order/MixinOrder.scala:18:10 
[error] 18 |    class Greeter extends Hello, Hi:
[error]    |          ^
[error]    |     |class Greeter differs only in case from
                 |class greeter in package mixins.test1.
Such classes will overwrite one another on case-insensitive filesystems.
[error] one error found

I don’t know if this error will continue to stay like this in Scala 3, but that’s the way it works today.