When Ruby makes the tIDENTIFIER/tCONSTANT test, it looks to see if the  first letter is upper case using

   ISUPPER(tok[0])

which eventually calls

  ctype_test(c, ONIGENC_CTYPE_UPPER);


If I run

   # encoding: utf-8
   puts "match" if /[[:upper:]]/ =~ ""

it confirms that  is an upper case letter, but

# encoding: utf-8
class lass
end

Complains "t.rb:2: class/module name must be CONSTANT"

Is that expected?


Dave