Problem I was solving was more complicated, I only left some context in which I have used square brackets. I've simplified for show a problem of interpreting '$1[', which looks to me as a bug.
No, for sure it is not a bug. When in doubt use the ${name} form inside of double quoted strings, or other contexts with similar rules. This could have happened with a var named $foo