aaron.ballman 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 *' +} ---------------- JonasToth wrote: > 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 '...'` Okay, that makes more sense to me. I don't think the name of the function helps all that much in the diagnostic, however. What about: `"returning a newly created resource of type %0 from a function whose return type is not 'gsl::owner<>'"` https://reviews.llvm.org/D36354 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits