in reply to Re: ::'s role in strings
in thread ::'s role in strings

You got it backwards
Dog::foo("Animal")
should be
Animal::foo("Dog")