In 3.4.0.16 (i.e. patch 4) :
AudioClip* ac;
ac.
When you do this and stop at the dot, you receive suggestions for AudioClip members, including "ID" which is not a member of AudioClip (only AudioChannel)
If you try to force it and type "ID", then of course the compiler complains about it.
It's actually trickier than that :
It's the switch...case that doesn't manage well two variables with the same name:
switch (...)
{
case 0: {
AudioChannel* ac; return ac.ID;
break;
}
case 1: {
AudioClip* ac; return ac.xxx // <-- problem here
break;
}
}
I guess everyone can totally live with that. Super low priority.
Need to also check 3.4.1, there were certain fixes to switch.