Sigh....

Pope Pius IX's teaching on religious liberty appears in a context where "religious liberty" was synonymous with "persecution of the Catholic Church."  That was his real concern: the rights of the Church were being violated in the name of "religious liberty." 

Pope Eugene is correct and Vatican II did not change this teaching. The difference is that Vatican II presupposes that people who are not Catholic are invincibly ignorant and thus not culpable. In the context of modern society today, most people do not willfully reject the Catholic Faith they know to be true in their heart. Pope Eugene assumed a willful rejection of the Catholic Faith in his teaching. 

The teaching remains: anyone who knows in their heart that the Catholic Faith is the one true Faith and still rejects it, cannot be saved.

There are no direct contradictions between teachings--the contradictions are only apparent.