Skip to content

Commit 4829199

Browse files
committed
Avoid hardcoded type conversion for metadata
The engine uses the names `int` and `float` to refer to the 64-bit types, so in the bindings generator we have a hardcoded conversion for those types. But this type conversion should not be used for metadata. Even though the underlying type should still be 64-bit for interop, metadata is meant to specify the correct type to expose. So if metadata says `float` it means the type is really meant to be a 32-bit `float` and not `double`. Other hardcoded type conversions (`int` and `Nil`) won't ever be metadata. This change corrects the `float` type, to use the right type in the generated C++ code. Before we were always using `double` due to this type conversion.
1 parent fbbf9ec commit 4829199

File tree

1 file changed

+0
-2
lines changed

1 file changed

+0
-2
lines changed

binding_generator.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2719,8 +2719,6 @@ def correct_type(type_name, meta=None, use_alias=True):
27192719
if meta is not None:
27202720
if "int" in meta:
27212721
return f"{meta}_t"
2722-
elif meta in type_conversion:
2723-
return type_conversion[type_name]
27242722
else:
27252723
return meta
27262724
if type_name in type_conversion:

0 commit comments

Comments
 (0)