Compilers didn't replace any jobs, they created more. Similarly, this type of AI-assisted programming will allow more people to program and make existing programmers more productive.
You can write code that is valid as in "can be compiled" but outside of C++ standard. It is duty of programmer to not have those, as compiler usually assumes that there's no UB in your code and can do unintuitive things with optimizations.
e.g
int foo(int8_t x) {
x += 120
return x;
}
int bar(int8_t y) {
int z = foo(y);
if (y > 8) {
do_important_thing(z);
}
}
`do_important_thing` may be optimized out because:1. signed overflow is a UB. Compiler than assumes that everything passed to foo is less than 8;
2. We pass y to foo => y < 8
3. if branch can then be optimized out
I was too lazy to check the exact value of 2^31 and payed for it.