When an object is created but not given a name, the command does nothing and no error is generated. The documentation says the object name is a required argument, so this situation should generate an error. For example, the following script silently does nothing:
itcl::class Temp {}
Temp
This behavior was present in 3.4 as well.