This is code processed with lower safety levels. Unsafe code might do error checking. Implementations are permitted to treat all code as safe code all the time. This means that an error is signaled in both safe and unsafe code. Conforming code may rely on the fact that the error is signaled in both safe and unsafe code.
Every implementation is required to detect the error in both safe and unsafe code.
If an explicit error type is not specified, the default is error . This means that an error is signaled in safe code, and an error might be signaled in unsafe code. Conforming code may rely on the fact that the error is signaled in safe code. Every implementation is required to detect the error at least in safe code. An implementation is always permitted to signal an error, but even in safe code , it is only required to signal the error when failing to signal it might lead to incorrect results.