@@ -83,25 +83,18 @@ is a Rust library that provides bindings for the Godot game engine.
83
83
84
84
November has been a month of refactoring for godot-rust. The API was cleaned up
85
85
across different locations, reducing confusion and making the library more
86
- accessible. The module simplification ([ #811 ] [ gd-811 ] ) continued initial efforts
87
- on the
88
- module structure, such as shorter paths and avoidance of redundant re-exports.
89
- The improvements are best expressed as a picture -- these are differences
90
- between version v0.9.3 and now:
91
-
92
- In a similar vein, several core symbols were renamed for consistency
93
- ([ #815 ] [ gd-815 ] ). Examples include:
94
-
95
- - ` RefInstance ` -> ` TInstance `
96
- - ` TypedArray ` -> ` PoolArray `
97
- - ` ThreadAccess ` -> ` Ownership `
98
- - ` RefKind ` -> ` Memory `
99
-
100
- Another refactoring affects the ` Variant ` conversion methods ([ #819 ] [ gd-819 ] ).
101
- Instead of ` Variant::to_i64() ` which may silently fail and return a default
102
- value (Godot behavior), the recommended method is now ` Variant::to<T>() ` . This
103
- enables genericity and is more idiomatic in Rust, returning an ` Option ` to
104
- indicate success or failure.
86
+ accessible:
87
+
88
+ - The module simplification ([ #811 ] [ gd-811 ] ) continued initial efforts on the
89
+ module structure, such as shorter paths and avoidance of redundant re-exports.
90
+ Some differences between v0.9.3 and now can be seen in the above picture.
91
+ - Several core symbols were renamed for consistency ([ #815 ] [ gd-815 ] ):
92
+ ` RefInstance ` -> ` TInstance ` and ` TypedArray ` -> ` PoolArray ` , among others.
93
+ - Another refactoring affects the ` Variant ` conversion methods ([ #819 ] [ gd-819 ] ).
94
+ Instead of ` Variant::to_i64() ` which may silently fail and return a default
95
+ value (Godot behavior), the recommended method is now ` Variant::to<T>() ` . This
96
+ enables genericity and is more idiomatic in Rust, returning an ` Option ` to
97
+ indicate success or failure.
105
98
106
99
As a binding to a C++ library, one topic godot-rust has to deal with is the use
107
100
of ` unsafe ` , which sometimes boils down to a trade-off between safety and
@@ -110,14 +103,9 @@ philosophies on their execution, see [The CXX Debate][gd-cxx] for an example.
110
103
To discuss how APIs interacting with Godot can as ergonomic as possible while
111
104
preserving safety, [ issue #808 ] [ gd-808 ] was opened.
112
105
113
- Smaller changes include safety bugfixes ([ #795 ] [ gd-795 ] ) or a
114
- ` GodotString::format() ` method ([ #816 ] [ gd-816 ] ).
115
-
116
- [ gd-795 ] : https://github.com/godot-rust/godot-rust/pull/795
117
106
[ gd-808 ] : https://github.com/godot-rust/godot-rust/pull/808
118
107
[ gd-811 ] : https://github.com/godot-rust/godot-rust/pull/811
119
108
[ gd-815 ] : https://github.com/godot-rust/godot-rust/pull/815
120
- [ gd-816 ] : https://github.com/godot-rust/godot-rust/pull/816
121
109
[ gd-819 ] : https://github.com/godot-rust/godot-rust/pull/819
122
110
123
111
[ gd-cxx ] : https://steveklabnik.com/writing/the-cxx-debate
0 commit comments