The solidity compiler allows compilation when a virtual function takes an argument in memory while the overriding implemenatinon takes it in calldata. This can lead to various bugs since these two dont behave the same way. For instance slicing of bytes is only possible in calldata and not memory.
Due to the resulting uncertain behaviour, the comiler should prevent this!