On 4/9/2013 7:50 AM, Simen Kjærås wrote: > It's based purely on function signature Correct. (I should point out that there are cases where the compiler infers purity from the function body: 1. lambdas 2. template functions 3. auto functions )