Где именно объявлены методы * = / + = / etc для подклассов AnyVal? Я предполагаю, что для этих типов сделано что-то особенное, потому что как val они недопустимы, но как var они хороши Это просто еще больше синтетического сахара? Я предполагаю, что это превращается
a *= 5
в
a = a * 5
, что явно не для val. Правильна ли эта интуиция? Я также предполагаю, что это только пытается это для AnyVals?
Спасибо:)