From 422ffb50d35e107eeb9332672d4a9ffa05c5ee94 Mon Sep 17 00:00:00 2001
From: Henrich Lauko <xlauko@mail.muni.cz>
Date: Thu, 10 Oct 2019 07:58:55 +0000
Subject: [PATCH] rst: Allow abstract constructors to take arguments.

---
 dios/include/rst/common.hpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/dios/include/rst/common.hpp b/dios/include/rst/common.hpp
index f2e19144b..a7141bdd0 100644
--- a/dios/include/rst/common.hpp
+++ b/dios/include/rst/common.hpp
@@ -120,6 +120,13 @@ namespace __dios::rst::abstract {
         return taint< C >();
     }
 
+    template< typename C, typename A, typename ...Args >
+    _LART_INLINE C make_abstract( Args && ...args ) noexcept
+    {
+        __lart_stash( static_cast< void * >( A::lift_any( std::forward< Args >( args )... ) ) );
+        return taint< C >();
+    }
+
     template< typename A, typename C >
     _LART_INLINE auto lift_one( C c ) noexcept
     {
-- 
GitLab