Assume that:

* New Protocol is declared
* Method in this protocol is marked `@required`
* Class conforms to Protocol
* Class does **not** implement the method mentioned in Protocol

At compile time, information about this method is known: i.e. that it is required and that this class and any other classes this class may may extend do not implement it.

Why in this case the compiler issues a warning and not an error?