JonasToth added inline comments.

================
Comment at: test/clang-tidy/cppcoreguidelines-owning-memory.cpp:39
+  return new int(42);
+  // CHECK-MESSAGES: [[@LINE-1]]:3: warning: returning a 'gsl::owner<>' from a 
function but not declaring it; return type is 'int *'
+}
----------------
aaron.ballman wrote:
> This diagnostic confuses me -- there's no gsl::owner<> involved anywhere; am 
> I missing something?
`owner<>` is not involved, but the guidelines say, that `new` must be assigned 
to an owner.

This is in line with the resource semantics. Everything that creates an 
resource, that must be released (no RAII available) shall be annotated.

The diagnostic is bad, though.

`Returning a newly created resource from function 'functionname', without 
declaring it as 'gsl::owner<>'; type is '...'`


https://reviews.llvm.org/D36354



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to