// Copyright (c) 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "scoped_refptr.h" struct Foo { int dummy; }; // A temporary scoped_refptr is passed as a raw pointer function argument. Since // temporaries are destroyed at the end of the full expression, this is 'safe' // and could be rewritten to use get(). However, the tool just skips this case // This should be rare enough that manual intervention is sufficient, since // seeing this pattern probably indicates a code smell. scoped_refptr GetBuggyFoo() { return new Foo; } void Bar(Foo* f); void UseBuggyFoo() { Bar(GetBuggyFoo()); }