text: // 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<Foo> GetBuggyFoo() {
    return new Foo;
  }
  
  void Bar(Foo* f);
  
  void UseBuggyFoo() {
    Bar(GetBuggyFoo());
  }
  