<div dir="ltr"><div dir="ltr">On Tue, Jul 9, 2019 at 12:11 PM Ryan Joseph <<a href="mailto:genericptr@gmail.com">genericptr@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Why does that require a special switch? Also, I thought it was determined that allowed “out” in array properties was a bug?<br></blockquote><div><br></div><div>Not sure about the exact history of VARPROPSETTER. It's an old Delphi thing, rarely used nowadays though.</div><div><br></div><div>As far as the "out", I'd say that is a lexical/parser bug certainly, although it does not seem to actually *behave* like "out" in the case of something like</div><div><br></div><div>function GetThing(out I: PtrUInt): TThing;</div><div>property Thing[out I: PtrUInt]: TThing read GetThing;<br></div><div><br></div><div>as if it did it couldn't possibly compile with a PtrUInt literal like "MyThing := BlahBlah.Thing[27]". The compiler seems to just act as though it was "var" there.</div></div></div>