The problems caused by changes to lints are actually temporally reversed compared to problems caused by normal changes. Lint changes will mean that code will compile on 1.1 but not compile on 1.2 (and probably not any 1.x, x > 2), whereas language/library changes will mean that code that compiles on 1.2 won’t compile on 1.1 (but it will compile on all 1.x, x > 2).
That is, code would have to specify “maximum rust version 1.1”, and this would essentially have to be specified for all code ever: who knows what sort of amazing warn-by-default lints we’re going to add in future.
So, yes, maybe, strictly speaking, it is just fixing a symptom of the fundamental problem that there will be many versions of the Rust compiler/language, but the fix for that “problem” (of locking code to exactly the compiler versions it has been tested with) doesn’t seem tenable with the intended way for the ecosystem to work: easy upgrades 1.x -> 1.(x+1).