@@ -56,6 +56,9 @@ class with_vptr_aux;
5656#pragma GCC diagnostic ignored "-Wnon-template-friend"
5757#endif
5858
59+ template <class ... Classes>
60+ inline use_classes<Classes...> with_vptr_use_classes;
61+
5962template <class Class , class Policy >
6063class with_vptr_aux <Class, Policy, true > {
6164 protected:
@@ -65,7 +68,7 @@ class with_vptr_aux<Class, Policy, true> {
6568 friend auto boost_openmethod_bases (Class*) -> mp11::mp_list<>;
6669
6770 with_vptr_aux () {
68- (void )&use_classes <Class, Policy>::instance ;
71+ (void )&with_vptr_use_classes <Class, Policy>;
6972 detail::update_vptr<Class>(static_cast <Class*>(this ));
7073 }
7174
@@ -95,7 +98,7 @@ class with_vptr_aux<Class, Base, false> : with_vptr_derived {
9598 friend void update_vptr (Class*);
9699
97100 with_vptr_aux () {
98- (void )&use_classes <Class, Base, with_vptr_policy<Class>>::instance ;
101+ (void )&with_vptr_use_classes <Class, Base, with_vptr_policy<Class>>;
99102 detail::update_vptr<Class>(static_cast <Class*>(this ));
100103 }
101104
@@ -130,9 +133,8 @@ class with_vptr<Class, Base1, Base2, MoreBases...> : detail::with_vptr_derived {
130133
131134 protected:
132135 with_vptr () {
133- (void )&use_classes<
134- Class, Base1, Base2, MoreBases...,
135- detail::with_vptr_policy<Base1>>::instance;
136+ (void )&detail::with_vptr_use_classes<
137+ Class, Base1, Base2, MoreBases..., detail::with_vptr_policy<Base1>>;
136138 detail::update_vptr<Class>(static_cast <Class*>(this ));
137139 }
138140
0 commit comments