void main(){wchar_t * data;union_type my_union;data=NULL;{wchar_t mystring[]=L"mystring";data=wcsdup(mystring);}my_union.a=data;{wchar_t * data=my_union.b;delete data;}}
static void main(){wchar_t * data;union_type my_union;data=NULL;{wchar_t mystring[]=L"mystring";data=wcsdup(mystring);}my_union.a=data;{wchar_t * data=my_union.b;free(data);}}