From 1e76de1d084de6c20e6e92bb600be62202e88fb4 Mon Sep 17 00:00:00 2001 From: kyren Date: Tue, 6 Mar 2018 06:23:04 -0500 Subject: [PATCH] Update docs to include warning about RegistryKey in callbacks --- src/types.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/types.rs b/src/types.rs index 8ab85c3..4b09f24 100644 --- a/src/types.rs +++ b/src/types.rs @@ -24,10 +24,11 @@ pub struct LightUserData(pub *mut c_void); /// difficult to use than the normal handle types, it is Send + Sync + 'static, which means that it /// can be used in many situations where it would be impossible to store a regular handle value. /// -/// Be warned, If you place this into Lua via a `UserData` type, it is *very easy* to accidentally -/// cause reference cycles that the Lua garbage collector cannot resolve. Instead of placing a -/// `RegistryKey` into a `UserData` type, prefer instead to use `UserData::set_user_value` / -/// `UserData::get_user_value`. +/// Be warned, If you place this into Lua via a `UserData` type or a rust callback, it is *very +/// easy* to accidentally cause reference cycles that the Lua garbage collector cannot resolve. +/// Instead of placing a `RegistryKey` into a `UserData` type, prefer instead to use +/// `UserData::set_user_value` / `UserData::get_user_value`, and instead of moving a RegistryKey +/// into a callback, prefer `Lua::scope`. pub struct RegistryKey { pub(crate) registry_id: c_int, pub(crate) unref_list: Arc>>>,