Protocol for avoiding pointers

What happens to an interface which accepts an uint8_t and you hand over “a negative value”?

Do you really think this kind of magic number handling is of any good and others should be encouraged to do so?