In the document of the trait AsRef, there is one sentense:
Note: this trait must not fail. If the conversion can fail, use a dedicated method which returns an Option or a Result<T, E>.
Then what does it mean “must not fail”? What if it fails, can the compiler find out and deny to compile it? Or it compiles, and cause runtime error?