@@ -1170,6 +1170,9 @@ impl Lua {
11701170 /// `None` because Lua's C API does not provide a way to read back current parameter values
11711171 /// without changing them.
11721172 ///
1173+ /// If the collector is internally stopped, the mode cannot be changed and the requested mode is
1174+ /// returned as-is.
1175+ ///
11731176 /// # Examples
11741177 ///
11751178 /// Switch to generational mode (Lua 5.4+):
@@ -1200,9 +1203,8 @@ impl Lua {
12001203 ffi:: lua_gc ( state, ffi:: LUA_GCPARAM , ffi:: LUA_GCPSTEPSIZE , v) ;
12011204 }
12021205 match ffi:: lua_gc ( state, ffi:: LUA_GCINC ) {
1203- ffi:: LUA_GCINC => GcMode :: Incremental ( GcIncParams :: default ( ) ) ,
12041206 ffi:: LUA_GCGEN => GcMode :: Generational ( GcGenParams :: default ( ) ) ,
1205- _ => unreachable ! ( ) ,
1207+ _ => GcMode :: Incremental ( GcIncParams :: default ( ) ) ,
12061208 }
12071209 } ,
12081210 #[ cfg( feature = "lua54" ) ]
@@ -1211,9 +1213,8 @@ impl Lua {
12111213 let step_mul = params. step_multiplier . unwrap_or ( 0 ) ;
12121214 let step_size = params. step_size . unwrap_or ( 0 ) ;
12131215 match ffi:: lua_gc ( state, ffi:: LUA_GCINC , pause, step_mul, step_size) {
1214- ffi:: LUA_GCINC => GcMode :: Incremental ( GcIncParams :: default ( ) ) ,
12151216 ffi:: LUA_GCGEN => GcMode :: Generational ( GcGenParams :: default ( ) ) ,
1216- _ => unreachable ! ( ) ,
1217+ _ => GcMode :: Incremental ( GcIncParams :: default ( ) ) ,
12171218 }
12181219 } ,
12191220 #[ cfg( any( feature = "lua53" , feature = "lua52" , feature = "lua51" , feature = "luajit" ) ) ]
@@ -1252,19 +1253,17 @@ impl Lua {
12521253 ffi:: lua_gc ( state, ffi:: LUA_GCPARAM , ffi:: LUA_GCPMAJORMINOR , v) ;
12531254 }
12541255 match ffi:: lua_gc ( state, ffi:: LUA_GCGEN ) {
1255- ffi:: LUA_GCGEN => GcMode :: Generational ( GcGenParams :: default ( ) ) ,
12561256 ffi:: LUA_GCINC => GcMode :: Incremental ( GcIncParams :: default ( ) ) ,
1257- _ => unreachable ! ( ) ,
1257+ _ => GcMode :: Generational ( GcGenParams :: default ( ) ) ,
12581258 }
12591259 } ,
12601260 #[ cfg( feature = "lua54" ) ]
12611261 GcMode :: Generational ( params) => unsafe {
12621262 let minor = params. minor_multiplier . unwrap_or ( 0 ) ;
12631263 let minor_to_major = params. minor_to_major . unwrap_or ( 0 ) ;
12641264 match ffi:: lua_gc ( state, ffi:: LUA_GCGEN , minor, minor_to_major) {
1265- ffi:: LUA_GCGEN => GcMode :: Generational ( GcGenParams :: default ( ) ) ,
12661265 ffi:: LUA_GCINC => GcMode :: Incremental ( GcIncParams :: default ( ) ) ,
1267- _ => unreachable ! ( ) ,
1266+ _ => GcMode :: Generational ( GcGenParams :: default ( ) ) ,
12681267 }
12691268 } ,
12701269 }
0 commit comments