perl -MTest::More=no_plan -e 'is_deeply({}, {key => []})'

should fail but doesn't because $DNE is deeply equal to [] and _deep_check 
doesn't notice the class difference.

Patch attached.

F

-- 
Do you need someone with lots of Unix sysadmin and/or lots of OO software 
development experience? Go on, giz a job.
My CV - http://www.fergaldaly.com/cv.html
--- ./lib/Test/More.pm.stack	2003-03-01 18:27:02.000000000 +0000
+++ ./lib/Test/More.pm	2003-03-03 16:43:40.000000000 +0000
@@ -1052,7 +1052,12 @@
             $ok = 1;
         }
         else {
-            if( UNIVERSAL::isa($e1, 'ARRAY') and
+            if ( (ref $e1 and $e1 eq $DNE) or
+            	(ref $e2 and $e2 eq $DNE) )
+            {
+            	$ok = 0;
+            }
+            elsif( UNIVERSAL::isa($e1, 'ARRAY') and
                 UNIVERSAL::isa($e2, 'ARRAY') )
             {
                 $ok = _eq_array($e1, $e2);

Reply via email to