[DTrace-devel] [PATCH 06/12] Assigning 0 to any dynamic variable should delete it
Eugene Loh
eugene.loh at oracle.com
Mon Jan 8 21:50:44 UTC 2024
On 1/8/24 15:45, Kris Van Hees wrote:
> On Mon, Jan 08, 2024 at 03:10:13PM -0500, Eugene Loh via DTrace-devel wrote:
>> Reviewed-by: Eugene Loh <eugene.loh at oracle.com>
>>
>> But my leading question is whether this changes the D programming language.
>> E.g., I assume the associated scripts won't run with legacy DTrace? At the
>> very least, this change should be mentioned in the commit message.
> I can do that. It does not quite change the language to the extend that
> assigning 0 to a dynamic variable is meant to delete the variable.
>
> So, DTtrace was actually not implementing what the documentation describes.
Agreed. I meant only the part that the parser didn't accept struct=int.
> But I will explain that in the commit message so it is clear.
>
>> Related to that, I'm surprised this change doesn't break some test designed
>> to catch "struct = int" errors. (Or maybe not surprised if our test
>> coverage was weak. But then maybe this patch should introduce such a test,
>> where "struct = 0" passes through.)
> Well, this change only applies to dynamic variables, not to the general case
> of struct = int or union = int.
Good point. And even in the dvar case only to =0. But still... a
quick look and I didn't see such a test.
More information about the DTrace-devel
mailing list