-
-
Notifications
You must be signed in to change notification settings - Fork 37
Open
Description
This should requires void delete_x(_Opt struct X* _Owner _Opt p)
#pragma safety enable
char * _Opt _Owner strdup(const char * src);
void * _Opt _Owner calloc(unsigned int n, unsigned int sz);
void free(void* _Owner _Opt ptr);
struct X { char * _Owner text; };
void delete_x(struct X* _Owner _Opt p){
if (p)
{
free(p->text);
free(p);
}
}
void f() {
struct X * _Owner _Opt pX = calloc(1, sizeof * pX);
if (pX)
{
char * _Opt _Owner s = strdup("a");
if (s != nullptr){
pX->text = s; //ok
}
delete_x(pX); //missing warning
}
}
Metadata
Metadata
Assignees
Labels
No labels