I got the answer in first click but then I thought what if SQL 2012 get WHERE clause in TRUNCATE command :hehe:
I pondered that, and tried to think of a way it could be written to only deallocate* selected pages, and couldn't figure out a quick way it could have been implemented.
Then I wondered if it could have been changed to ignore the erroneous clause... but decided that would create an even larger hue and of course cry. "No No..." I told myself, "the current behaviour is perfect. They couldn't possibly have changed it."
* "Deallocate"... or is there a more proper term for what TRUNCATE does?