Languages with strong static type systems

Is there a mainstream language where you can’t arbitrarily cast a variable to any other type?