template <typename T>
void TestUnwrap() {
zc::owned<T> t(new T());
- //T* unwrap = t.get();
+ T* unwrap = t.get();
zc::ref<T> ref = t.get();
T* unwrap2 = ref;
+
+ zc::member<T> tm;
+ T* tp = &tm;
}
void TestMove() {
zc::member<C> c;
rc = &c;
EXPECT(rc == &c);
- c->DoThing();
+ c.DoThing();
}
EXPECT_UAF(rc->DoThing());
}
}
EXPECT_UAF(ref->DoThing());
EXPECT_UAF(vec_ref->at(1).DoThing());
+
+ {
+ zc::member<X> x("foo bar");
+ ref = x.c();
+ }
+ EXPECT_UAF(ref->DoThing());
}
#define TEST_FUNC(fn) { #fn , Test##fn }