-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bevy_reflect: Function Overloading (Generic & Variadic Functions) #15074
Open
MrGVSV
wants to merge
21
commits into
bevyengine:main
Choose a base branch
from
MrGVSV:mrgvsv/reflect/reflect-function-overloading
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
bevy_reflect: Function Overloading (Generic & Variadic Functions) #15074
MrGVSV
wants to merge
21
commits into
bevyengine:main
from
MrGVSV:mrgvsv/reflect/reflect-function-overloading
+1,933
−129
Commits on Sep 7, 2024
-
This will be a foundational piece to enabling overloaded functions.
Configuration menu - View commit details
-
Copy full SHA for 87a098c - Browse repository at this point
Copy the full SHA 87a098cView commit details -
Allows for manually defining basic generic function reflection
Configuration menu - View commit details
-
Copy full SHA for 9274bea - Browse repository at this point
Copy the full SHA 9274beaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5713eb4 - Browse repository at this point
Copy the full SHA 5713eb4View commit details -
Made arguments require Reflect rather than PartialReflect
Function reflection doesn't really support dynamic types currently so it makes more sense to start stricter with Reflect. This will make it easier to ensure all arguments have valid types for generic function reflection.
Configuration menu - View commit details
-
Copy full SHA for 945ecba - Browse repository at this point
Copy the full SHA 945ecbaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8231d13 - Browse repository at this point
Copy the full SHA 8231d13View commit details -
Configuration menu - View commit details
-
Copy full SHA for a755066 - Browse repository at this point
Copy the full SHA a755066View commit details -
Configuration menu - View commit details
-
Copy full SHA for a37055f - Browse repository at this point
Copy the full SHA a37055fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 45d36fc - Browse repository at this point
Copy the full SHA 45d36fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 182d7a5 - Browse repository at this point
Copy the full SHA 182d7a5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 998269f - Browse repository at this point
Copy the full SHA 998269fView commit details -
Switched to NoOpHash in FunctionMap
Since ArgumentSignature is just a wrapper around Box<[Type]>, it should already contain a "high-quality hash"
Configuration menu - View commit details
-
Copy full SHA for 1a5b9a1 - Browse repository at this point
Copy the full SHA 1a5b9a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 10a4447 - Browse repository at this point
Copy the full SHA 10a4447View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1074f29 - Browse repository at this point
Copy the full SHA 1074f29View commit details -
Configuration menu - View commit details
-
Copy full SHA for 627d6b5 - Browse repository at this point
Copy the full SHA 627d6b5View commit details -
Turns out that NoOpHash works by only using the last u64 hash, making collisions very likely when used with ArgumentSignature
Configuration menu - View commit details
-
Copy full SHA for 3eea6de - Browse repository at this point
Copy the full SHA 3eea6deView commit details -
Added a few more FunctionMap optimizations
Mainly usage of HashMap::insert_unique_unchecked
Configuration menu - View commit details
-
Copy full SHA for 38afcdc - Browse repository at this point
Copy the full SHA 38afcdcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 66b88e5 - Browse repository at this point
Copy the full SHA 66b88e5View commit details -
Configuration menu - View commit details
-
Copy full SHA for b0f01d8 - Browse repository at this point
Copy the full SHA b0f01d8View commit details -
Used to help reduce code duplication for overloaded functions and to give users the option to pretty-print FunctionInfo
Configuration menu - View commit details
-
Copy full SHA for cf35a6e - Browse repository at this point
Copy the full SHA cf35a6eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 70d497f - Browse repository at this point
Copy the full SHA 70d497fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0ecda65 - Browse repository at this point
Copy the full SHA 0ecda65View commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.