From:             
Operating system: All
PHP version:      5.3.13
Package:          Unknown/Other Function
Bug Type:         Bug
Bug description:Fatal error when merging files due to class/function/symbol 
name collision

Description:
------------
These two namespaces work as expected when in two separate files, and when

included together at runtime work as expected as well, but once they're
merged 
in the same file they result in a Fatal Error:

namespace Foo {
    class Bar {}
}

namespace Foo {
    use Bar;
}

Fatal error: Cannot use Bar as Bar because the name is already in use.

I understand this behavior was introduced with good intentions, but all it
does 
is break working code when files are merged together. The alternative
namespace 
construct was introduced specifically to support merging of multiple files

together without side effects, and this is such a side effect.

Expected result:
----------------
I expect that "use" statements should override default resolutions, and no
Fatal 
Error should be produced (the EXACT behavior we have right now when the
above is 
spread in two files which are required() at runtime).

Actual result:
--------------
Fatal Error when merging code.

-- 
Edit bug report at https://bugs.php.net/bug.php?id=62042&edit=1
-- 
Try a snapshot (PHP 5.4):            
https://bugs.php.net/fix.php?id=62042&r=trysnapshot54
Try a snapshot (PHP 5.3):            
https://bugs.php.net/fix.php?id=62042&r=trysnapshot53
Try a snapshot (trunk):              
https://bugs.php.net/fix.php?id=62042&r=trysnapshottrunk
Fixed in SVN:                        
https://bugs.php.net/fix.php?id=62042&r=fixed
Fixed in SVN and need be documented: 
https://bugs.php.net/fix.php?id=62042&r=needdocs
Fixed in release:                    
https://bugs.php.net/fix.php?id=62042&r=alreadyfixed
Need backtrace:                      
https://bugs.php.net/fix.php?id=62042&r=needtrace
Need Reproduce Script:               
https://bugs.php.net/fix.php?id=62042&r=needscript
Try newer version:                   
https://bugs.php.net/fix.php?id=62042&r=oldversion
Not developer issue:                 
https://bugs.php.net/fix.php?id=62042&r=support
Expected behavior:                   
https://bugs.php.net/fix.php?id=62042&r=notwrong
Not enough info:                     
https://bugs.php.net/fix.php?id=62042&r=notenoughinfo
Submitted twice:                     
https://bugs.php.net/fix.php?id=62042&r=submittedtwice
register_globals:                    
https://bugs.php.net/fix.php?id=62042&r=globals
PHP 4 support discontinued:          
https://bugs.php.net/fix.php?id=62042&r=php4
Daylight Savings:                    https://bugs.php.net/fix.php?id=62042&r=dst
IIS Stability:                       
https://bugs.php.net/fix.php?id=62042&r=isapi
Install GNU Sed:                     
https://bugs.php.net/fix.php?id=62042&r=gnused
Floating point limitations:          
https://bugs.php.net/fix.php?id=62042&r=float
No Zend Extensions:                  
https://bugs.php.net/fix.php?id=62042&r=nozend
MySQL Configuration Error:           
https://bugs.php.net/fix.php?id=62042&r=mysqlcfg

Reply via email to