matz / netlab.co.jp (Yukihiro Matsumoto) writes: > |I guess my point is that this is the only place the concept of 'void > |expression' appears. It is otherwise not expressible as a value, nor > |can you test for it (a.void?). > > Hmm, but it's a attribute of the statement which cannot be treated by > the programs directly. Let's look at another case. A class definition currently returns a void expression. Instead, it could return a class object. This would then allow things like the one-step initializing of singletons and (with a slight change of syntax) totally anonymous class definitions a = (class def initialize ... end end ).new Similarly, 'def' could return a Method. > What do you (and others) think about each of > the ideas below: > > * make it warning. No, because unless 'while' is changed to return something meaningful it's probably an error > * leave it as it is. Fine by me > * remove this check. No - see above > * something else. Return a value or nil? > `break' returning is as interesting as `break' with the label to exit. > I couldn't decide. Personally I dislike labeled breaks, but not strongly... Dave