forked from icaven/glm
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Reuse code to remove overloads via templates #1319
Open
ZXShady
wants to merge
12
commits into
g-truc:master
Choose a base branch
from
ZXShady:remove_unneccessary_overloads
base: master
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
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fddc0eb
to
bb563dc
Compare
f9186b8
to
2d4c4b4
Compare
d1a652f
to
b16d676
Compare
94ed588
to
a8812e0
Compare
e52d8c3
to
d1ac069
Compare
d1ac069
to
6e0dfc9
Compare
6e0dfc9
to
63d8733
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
UPDATE: I currently now have split it into commits to see if they are fine to be metrged, and I had some issues in local commits with internal compiler errors that I will yet fix.
First of all I want to thank the authors for making this amazing library.
but one thing I really hated is the insanely long error messages for simple mistakes like
glm::ivec3() + 1.0f
gets me a 210 line error message like thiserror_before.txt
but after removing unnecessary overloads I got it down to this (I still could reduce the unneeded overloads even more)
error_after.txt
it also significantly reduced the amount of boiler plate code written in the header files and leaves less room for mistakes.
like unary
operator+
for mat was repeated 16 times!! while it had the same definition every time. 16x less codethis pr breaks code though like
I made it a free function that takes a non const lvalue so that no longer compiles (and it should tbh just
write ivec3() -1
)