Comment #0 by verylonglogin.reg — 2012-03-02T06:48:33Z
---
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).
Comment #1 by verylonglogin.reg — 2012-03-02T07:51:54Z
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.
Comment #2 by robert.schadek — 2024-12-13T17:58:54Z