> I didn't test, but I think something like this should do the job:
>
>> template<typename T> struct S
>> {
>> template <class T1 = T>
>> typename disable_if<is_const<T1>, int>::type mutating_method();
>> };
Default template arguments are disallowed for function templates.