| Index: tests/RefCntTest.cpp | 
| diff --git a/tests/RefCntTest.cpp b/tests/RefCntTest.cpp | 
| index 60a34ecf886826ecaa972ac612c18ee1d1d8a702..8914ccff49a092fc2ca8d337cf80a1f9090fb15a 100644 | 
| --- a/tests/RefCntTest.cpp | 
| +++ b/tests/RefCntTest.cpp | 
| @@ -274,3 +274,19 @@ DEF_TEST(sk_sp, reporter) { | 
| check(reporter, 1, 2, 1, 1); | 
| } | 
|  | 
| +namespace { | 
| +struct FooAbstract : public SkRefCnt { | 
| +    virtual void f() = 0; | 
| +}; | 
| +struct FooConcrete : public FooAbstract { | 
| +    void f() override {} | 
| +}; | 
| +} | 
| +static sk_sp<FooAbstract> make_foo() { | 
| +    // can not cast FooConcrete to FooAbstract. | 
| +    // can cast FooConcrete* to FooAbstract*. | 
| +    return sk_make_sp<FooConcrete>(); | 
| +} | 
| +DEF_TEST(sk_make_sp, r) { | 
| +    auto x = make_foo(); | 
| +} | 
|  |