﻿id	summary	reporter	owner	description	type	status	milestone	component	version	severity	resolution	keywords	cc
3902	Au3Check, Byref, Map.element	anonymous		"
{{{
; Error:
; - Function with ByRef defined BEFORE usage
; - .element syntax used
;~ #cs
Global $Map[]
Func AddOne(ByRef $a)
	$a += 1
EndFunc
$Map.something = 123
ConsoleWrite($Map.something & @CRLF)
AddOne($Map.something)
ConsoleWrite($Map.something & @CRLF)
;~ #ce

; Error Solution 01:
; - Function with ByRef defined AFTER usage
; - .element syntax used
#cs
Global $Map[]
$Map.something = 123
ConsoleWrite($Map.something & @CRLF)
AddOne($Map.something)
ConsoleWrite($Map.something & @CRLF)
Func AddOne(ByRef $a)
	$a += 1
EndFunc
#ce

; Error Solution 02:
; - Function with ByRef defined BEFORE usage
; - ['element'] syntax used
#cs
Global $Map[]
Func AddOne(ByRef $a)
	$a += 1
EndFunc
$Map.something = 123
ConsoleWrite($Map.something & @CRLF)
AddOne($Map['something'])
ConsoleWrite($Map.something & @CRLF)
#ce
}}}

The shown code will result in a ""AddOne() called with Const or expression on ByRef-param(s)"" error. The two other arrangements of the same code will not result in this error, and if you disable Au3Check entirely, the code will run fine. So its an Au3Check-only problem, AutoIt itself is fine with it.
"	Bug	closed	Future Release	Au3Check	Other	None	Fixed	3.3.16.1-rc2	
