--- void f(ref int i) { } void g(out int i) { } void main() { int* ptr = null; f(*ptr); // No RT errors g(*ptr); // `Access violation` because of a try to write a default value } --- Tests for ref/out parameters not being null will be very useful. Current specs doesn't prohibit null ref/out parameters but it looks inconsistent. I'd like specs to be changed to prohibit such cases or to clarify why is it useful (and not prohibited).
I meant the issue is that if ref null argument isn't used no RT error is generated, `Access violation` for null out argument isn't perfect but is acceptable and corresponds to member function call on null object reference.
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/17542 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB