diff --git a/include/sol/stack_check_qualified.hpp b/include/sol/stack_check_qualified.hpp index 0e161534..f88d63cb 100644 --- a/include/sol/stack_check_qualified.hpp +++ b/include/sol/stack_check_qualified.hpp @@ -76,6 +76,10 @@ namespace stack { return stack::unqualified_check>(L, index, std::forward(handler), tracking); } } + else if constexpr (!std::is_reference_v && meta::is_specialization_of_v) { + using NestedX = typename meta::unqualified_t::nested_type; + return stack::check(L, index, ::std::forward(handler), tracking); + } else { return stack::unqualified_check(L, index, std::forward(handler), tracking); } diff --git a/include/sol/types.hpp b/include/sol/types.hpp index b7fa96d2..9e91b4d3 100644 --- a/include/sol/types.hpp +++ b/include/sol/types.hpp @@ -364,6 +364,8 @@ namespace sol { T value_; public: + using nested_type = T; + nested() = default; nested(const nested&) = default; nested(nested&&) = default; diff --git a/single/include/sol/forward.hpp b/single/include/sol/forward.hpp index 8908213d..35bb58e8 100644 --- a/single/include/sol/forward.hpp +++ b/single/include/sol/forward.hpp @@ -20,8 +20,8 @@ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // This file was generated with a script. -// Generated 2020-01-27 19:13:11.283155 UTC -// This header was generated with sol v3.2.0 (revision 0c38fd1) +// Generated 2020-01-28 18:44:18.449629 UTC +// This header was generated with sol v3.2.0 (revision 903f4db) // https://github.com/ThePhD/sol2 #ifndef SOL_SINGLE_INCLUDE_FORWARD_HPP diff --git a/single/include/sol/sol.hpp b/single/include/sol/sol.hpp index 4c61cdf1..dedeb2d1 100644 --- a/single/include/sol/sol.hpp +++ b/single/include/sol/sol.hpp @@ -20,8 +20,8 @@ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // This file was generated with a script. -// Generated 2020-01-27 19:13:10.728559 UTC -// This header was generated with sol v3.2.0 (revision 0c38fd1) +// Generated 2020-01-28 18:44:17.872076 UTC +// This header was generated with sol v3.2.0 (revision 903f4db) // https://github.com/ThePhD/sol2 #ifndef SOL_SINGLE_INCLUDE_HPP @@ -6619,6 +6619,8 @@ namespace sol { T value_; public: + using nested_type = T; + nested() = default; nested(const nested&) = default; nested(nested&&) = default; @@ -11566,6 +11568,10 @@ namespace stack { return stack::unqualified_check>(L, index, std::forward(handler), tracking); } } + else if constexpr (!std::is_reference_v && meta::is_specialization_of_v) { + using NestedX = typename meta::unqualified_t::nested_type; + return stack::check(L, index, ::std::forward(handler), tracking); + } else { return stack::unqualified_check(L, index, std::forward(handler), tracking); }