This commit is contained in:
blueloveTH 2023-03-13 16:56:05 +08:00
parent 234ec85fc6
commit f83eecde71
2 changed files with 3 additions and 3 deletions

View File

@ -443,7 +443,7 @@ T py_pointer_cast(VM* vm, const PyVar& var){
} }
template<typename T> template<typename T>
std::enable_if_t<std::is_pointer_v<T>, PyVar> std::enable_if_t<std::is_pointer_v<std::decay_t<T>>, PyVar>
py_var(VM* vm, T p){ py_var(VM* vm, T p){
const TypeInfo* type = _type_db.get<typename pointer<T>::baseT>(); const TypeInfo* type = _type_db.get<typename pointer<T>::baseT>();
return VAR_T(Pointer, type, pointer<T>::level, (char*)p); return VAR_T(Pointer, type, pointer<T>::level, (char*)p);

View File

@ -186,8 +186,8 @@ struct Discarded {};
template<typename __T> template<typename __T>
__T py_cast(VM* vm, const PyVar& obj) { __T py_cast(VM* vm, const PyVar& obj) {
using T = std::decay_t<__T>; using T = std::decay_t<__T>;
if constexpr(std::is_pointer_v<__T>){ if constexpr(std::is_pointer_v<T>){
return py_pointer_cast<__T>(vm, obj); return py_pointer_cast<T>(vm, obj);
}else if constexpr(is_py_class<T>::value){ }else if constexpr(is_py_class<T>::value){
_check_py_class<T>(vm, obj); _check_py_class<T>(vm, obj);
return OBJ_GET(T, obj); return OBJ_GET(T, obj);