As reported here: https://github.com/openplanet-nl/issues/issues/45
The following code causes an assertion failure:
enum Foo {
A = (1 << 0),
B = (1 << 1),
}
void Test(int f) {}
void Main() {
Test(Foo::A = true | Foo::B);
}
The assertion hit is here: https://github.com/codecat/angelscript-mirror/blob/6888f245e61d7cd2728e7f3f0e088dcec4e22066/sdk/angelscript/source/as_compiler.cpp#L16282
Obviously it is invalid syntax that doesn't really make sense, but the assertion probably shouldn't be thrown.