Duplicating Arguments in CF9
In cf7 and cf8 if you do the following:-
<cffunction name="duplicateIssue" access="public" output="false" returntype="void" hint="">
<cfargument name="arg1" type="string" required="true" hint="">
<cfargument name="arg2" type="string" required="true" hint="">
<cfargument name="arg3" type="string" required="true" hint="">
<cfset var local = duplicate(arguments)>
<cfset var local2 = duplicate(arguments)>
<cfdump var="#local#">
<cfdump var="#local2#">
<cfabort>
</cffunction>
<cfset duplicateIssue()>
They will output the same. However, in CF9 the first assignment to local is ignored and the local scope is populated. This means that the current application I work on cannot be migrated to CF9, as there are lots of occurances where the arguments scope is being duplicated into a struct called local. I know why this was added in CF9 to make life apprently easier for people who don't like varring things but it has changed the behaviour quite drastically and will take a lot of chages and testing for me to upgrade.
Any advice would be greatly appreciated,
Simon