@@ -83,7 +83,7 @@ class dyn
8383 requires simply::destroy_affordance<Affordance>
8484 {
8585 using destroy = simply::destroy_affordance_t <Affordance>;
86- simply::impl <destroy, dyn>:: fn (*this );
86+ simply::fn <destroy, dyn>(*this );
8787 }
8888};
8989
@@ -116,7 +116,8 @@ concept _allocator_storage_dyn =
116116 simply::allocator_storage>;
117117
118118template <typename T, typename Dyn>
119- using _storage_impl_t = simply::impl<typename Dyn::storage_type, T>;
119+ inline constexpr const auto &_storage_fn =
120+ simply::fn<typename Dyn::storage_type, T>;
120121
121122template <simply::member_affordance Affordance, typename T,
122123 simply::_allocator_storage_dyn Dyn, typename R, typename Self,
@@ -126,9 +127,9 @@ struct impl<simply::impl<Affordance, T>, Dyn,
126127 static constexpr auto fn (Self dyn, Args... args) noexcept (NoExcept) -> R {
127128 using self_type = simply::apply_cvref_t <Self, T>;
128129
129- const auto pointer = simply::_storage_impl_t <T, Dyn>:: fn (dyn.get ());
130- return simply::impl <Affordance, T>:: fn (std::forward<self_type>(*pointer),
131- std::forward<Args>(args)...);
130+ const auto pointer = simply::_storage_fn <T, Dyn>(dyn.get ());
131+ return simply::fn <Affordance, T>(std::forward<self_type>(*pointer),
132+ std::forward<Args>(args)...);
132133 }
133134};
134135
@@ -146,9 +147,9 @@ struct impl<simply::impl<Affordance, T>, Dyn,
146147 dyn.get_allocator (),
147148 std::in_place_type<T>,
148149 simply::elide ([&] -> T {
149- const auto pointer = simply::_storage_impl_t <T, Dyn>:: fn (dyn.get ());
150- return simply::impl <Affordance, T>:: fn (
151- std::forward<self_type>(*pointer), std::forward<Args>(args)...);
150+ const auto pointer = simply::_storage_fn <T, Dyn>(dyn.get ());
151+ return simply::fn <Affordance, T>(std::forward<self_type>(*pointer),
152+ std::forward<Args>(args)...);
152153 }),
153154 };
154155 }
@@ -167,7 +168,7 @@ struct impl<simply::impl<Affordance, T>, Dyn,
167168 }
168169
169170 auto alloc = simply::_rebind_alloc<T>(dyn.get_allocator ());
170- const auto pointer = simply::_storage_impl_t <T, Dyn>:: fn (dyn.get ());
171+ const auto pointer = simply::_storage_fn <T, Dyn>(dyn.get ());
171172
172173 using traits = std::allocator_traits<decltype (alloc)>;
173174
0 commit comments