1 // 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 7 struct Foo { 8 int dummy; 9 }; 10 11 struct Bar : public Foo { 12 int another_dummy; 13 }; 14 15 // Ensure that the correct cast (the user-defined cast) is converted. ExpectsRawFooPtr(Foo * foo)16void ExpectsRawFooPtr(Foo* foo) { 17 Foo* temp = foo; 18 } 19 CallExpectsRawFooPtrWithBar()20void CallExpectsRawFooPtrWithBar() { 21 scoped_refptr<Bar> temp(new Bar); 22 ExpectsRawFooPtr(temp.get()); 23 } 24