I think you added some few Features which are common sources for errors:
You can now have assignments in expressions rather than just statements
This leads to the famous if (x=5) versus if (x==5) error
i++,++i
These statements are nice when used on a line for themselves or inside a for loop. But they can be very confusing when used inside of expressions. It can become very hard to scan your code if you try to figure out wether i can change or not. (reading all the expressions vs reading just the left side of each assignment)
Omitting braces when there is just one statement after an if statement.
This is also dangerous because it is easy to forget the braces if you add a second statement to the if.
It is also easy to misunderstand which block an else belongs to:
Fixed bulk copy, so you can use structs as method return types, parameters and in normal assignments
This might be confusing because many other languages pass structs/objects and arrays per reference and do not create a copy.
Especially it is not possible to write something like p.setX(3.14) if I understand this correctly? Or will it copy the struct to the function and then back to the caller?
I think you added some few Features which are common sources for errors:
This is somehow related: http://programmers.stackexchange.com/questions/62302/most-common-one-line-bugs-in-c ;)