int blah() { ubyte n = 6; return n /= 2u; } static assert(blah()==3); CTFE internal error: unsupported assignment cast(uint)cast(int)n /= 2u Assertion failure: 'e1->op == TOKarraylength || e1->op == TOKvar || e1->op == TO Kdotvar || e1->op == TOKindex || e1->op == TOKslice' on line 3193 in file 'inter pret.c' Has been hitting this assert since 2.053; before that, it just gave a "unsupported at compile time" error.
https://github.com/D-Programming-Language/dmd/commit/7816eb5eaaceee107e2e276ab48fdfa07485234a https://github.com/D-Programming-Language/dmd/commit/eb4ca26cad2534a1a9ec14549ee3e0f18f908a4d