blob: a7a211939f26eba9f567d562b1357fe8da9a757e [file] [log] [blame]
[email protected]7ee5b512014-08-07 23:38:581// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "scoped_refptr.h"
6
7struct Foo {
8 int dummy;
9};
10
11struct Bar : public Foo {
12 int another_dummy;
13};
14
15void ExpectsRawPtr(Foo* foo) {
16 Foo* temp = foo;
17}
18
19// Ensure that de-referencing scoped_refptr<>'s are properly rewritten as
20// ->get() calls, and that the correct conversion is rewritten (eg: not the
21// Bar* -> Foo* conversion).
22Foo* GetHeapFoo() {
23 scoped_refptr<Bar>* heap_allocated = new scoped_refptr<Bar>();
24 *heap_allocated = new Bar;
25 return heap_allocated->get();
26}