http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52683
Petr Ovtchenkov <abominable-snowman at yandex dot ru> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID --- Comment #5 from Petr Ovtchenkov <abominable-snowman at yandex dot ru> 2012-03-23 19:35:48 UTC --- Thanks! Summary for history: Fail as expected: static_assert( is_assignable<int,int>::value, "not assignable" ); (left side is rvalue) Pass, as expected: static_assert( is_assignable<WW,WW>::value, "not assignable" ); (rvalues of classes can act as lvalues when they call a member function) Note: behavior was changed since gcc 4.5.x.