aboutsummaryrefslogtreecommitdiffstats
path: root/nihil.ucl/object_cast.ccm
diff options
context:
space:
mode:
authorLexi Winter <lexi@le-fay.org>2025-06-22 17:39:27 +0100
committerLexi Winter <lexi@le-fay.org>2025-06-22 17:39:27 +0100
commit09b7a494bd5de24f380095003fb7da4939de43e5 (patch)
tree125ba6cc66370399c578d81f98d1eeef14f85686 /nihil.ucl/object_cast.ccm
parentd6c3858418c4c00adb18d927135f73ed5a54564a (diff)
downloadnihil-09b7a494bd5de24f380095003fb7da4939de43e5.tar.gz
nihil-09b7a494bd5de24f380095003fb7da4939de43e5.tar.bz2
nihil.ucl: improve reference management
Diffstat (limited to 'nihil.ucl/object_cast.ccm')
-rw-r--r--nihil.ucl/object_cast.ccm7
1 files changed, 3 insertions, 4 deletions
diff --git a/nihil.ucl/object_cast.ccm b/nihil.ucl/object_cast.ccm
index 7291960..b10ffbc 100644
--- a/nihil.ucl/object_cast.ccm
+++ b/nihil.ucl/object_cast.ccm
@@ -71,11 +71,10 @@ struct convert_check<array<T>>
export template<datatype To>
auto object_cast(object const &from) -> To
{
- convert_check<To>{}.check(from.get_ucl_object());
+ auto uobj = from.get_ucl_object();
- auto const *uobj = from.get_ucl_object();
- auto *refptr = ::ucl_object_ref(uobj);
- return To(refptr);
+ convert_check<To>{}.check(uobj);
+ return To(nihil::ucl::ref, uobj);
}
} // namespace nihil::ucl