﻿id	summary	reporter	owner	description	type	status	milestone	component	version	severity	resolution	keywords	cc
3924	"Run-time error calling MyByRefFunc($map[""foo""].bar) ==> Expected a variable in user function call"	nurupo	Jon	"The following causes a run-time error:


{{{
Global $map[], $submap[]
$submap.bar = 0
$map[""foo""] = $submap
foo($map[""foo""].bar) ; ==> Expected a variable in user function call.:

Func foo(ByRef $var)
EndFunc
}}}

You have to use [] and then dot notation to reproduce the error. [] and [] works and doesn't result in error.

Using a dot notation and then [] also results in the error, i.e.:

{{{
foo($map.foo[""bar""])
}}}

This seems to be an issue of operator precedence, as putting () to force the left-most element to get extracted first doesn't result in any run-time error, i.e.:

{{{
foo(($map[""foo""]).bar)
}}}

and

{{{
foo(($map.foo)[""bar""])
}}}

respectably.

(Note that declaring the function before it is used results in an AU3Check instead, not a run-time error, which supposedly was fixed in 3.3.16.1 but I'm still experiencing it: https://www.autoitscript.com/trac/autoit/ticket/3902#comment:3)"	Bug	assigned		AutoIt	3.3.16.1	None			
