From man zshbuiltins, when writing to typeset(of which declareis a synonym):
For each name = value assignment, the parameter value is set to a value. Note that arrays cannot currently be assigned in typeset expressions , only scalars and integers.
Try this instead:
declare -a FILES_TO_SOURCE
FILES_TO_SOURCE=(
"bash_aliases"
"bash_exports"
"bash_functions"
"bash_options"
"bash_prompt"
"bash.local"
)
declare -r FILES_TO_SOURCE
, , , (, bash -ism , ).