hal9000 / hypermetrics.com writes:

> Please tell me this is a bug, not a feature.
> 
>   t = Time.local(2000,11,31)  # Nov 31, 2000 (nonexistent date)
>   # t is now Dec 1, 2000 - no errors, no nothing

time.c:

    /* value validation */
    if (   tm->tm_year < 69
	|| tm->tm_mon  < 0 || tm->tm_mon  > 11
	|| tm->tm_mday < 1 || tm->tm_mday > 31
	|| tm->tm_hour < 0 || tm->tm_hour > 23
	|| tm->tm_min  < 0 || tm->tm_min  > 59
	|| tm->tm_sec  < 0 || tm->tm_sec  > 60)
	rb_raise(rb_eArgError, "argument out of range");


Sorry...