I'm debugging a new failure in DateTime::Set t/15time_zone.t.
It fails with an infinite loop in this recurrence:

  my $months = DateTime::Set->from_recurrence(
                 recurrence => sub {
                    $_[0]->truncate( to => 'month' )->add( months => 1 );
                 }
             )
             ->set_time_zone( 'Asia/Taipei' );

After adding the following debugging code:

  my $dt = $_[0]->clone;
  print $dt->datetime,'T',$dt->hms,"\n";
  $dt->truncate( to => 'month' );
  print $dt->datetime,'T',$dt->hms,"\n";
  $dt->add(months=>1);
  print $dt->datetime,'T',$dt->hms,"\n";
  print "\n";

I got:

  2001-11-22T00:00:00T00:00:00
  2001-11-01T00:00:00T00:00:00
  2001-12-02T00:00:00T00:00:00

  2001-12-02T00:00:00T00:00:00
  2001-12-01T00:00:00T00:00:00
  2001-12-31T00:00:00T00:00:00

2001-12-01 + 1 month = 2001-12-31

- Flavio S. Glock

Reply via email to