Hey, Rogan!


I don't think so.  This sounds like a bug to me.  If there are two
declarations of the exact same function, for example your foo
functions, then chuck should at least warn you that you've overdefined
that function and tell you which version it will use.

Yes, I agree there.
 

Actually, as I type I can see one area where I might do this.  If you
have a class that inherits from another class, you may want to
redefine a function to do something different than its parent class.
For example.
<snip>

That's a good example of the way things currently work. I agree this is proper but here you aren't  "over defining" terms but you are "re-defining" them, working from a general case (or scope) towards a specific one. This is quite different (I feel) from the example I posted where the two definitions were within the same scope.

Re-defining functions while extending classes is kosher (and indeed essential), "over-defining" them is not, IMHO.

I hope that helps illustrate my case an I wish you a very good new year to you as well.

Yours,
Kas.