cmbruns / pyopenxr

Unofficial python bindings for OpenXR access to VR and AR devices
Apache License 2.0
112 stars 9 forks source link

Revert renaming of `type` and `next` structure members. #72

Closed cmbruns closed 2 years ago

cmbruns commented 2 years ago

These were renamed because these member names match python built-in functions, which could theoretically lead to conflicts.

But it's a small problem, which mostly affects the implementation details of the structure constructors. Meaning it might eventually be a small problem for us, but not for our users. Plus this has been a source of bugs #61. The known bugs are fixed but there still might be some unknown brittleness remaining.

In the interest of maintaining transparent similarity to the C API, we should use the original member names.

By the way, if we ever encounter a case where a python keyword (not just a built-in function) matches a member name or parameter name, we would probably need to re-invoke this mechanism for those keyword-matching parameters.

I'm still inclined to keep these parameters at the end of the constructor parameter list in the python API. In the C API they are at the beginning of the parameter list. I moved them to the end because they are some of the least-frequently needed parameters, so having them at the end allows us to omit mentioning them in the most common uses, when explicit parameter names are omitted.

@el-dee do you agree?

cmbruns commented 2 years ago

Fixed for 1.0.2401