Add a compilation error if neither std
nor libm
features are specified
#595
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.
Glam would previously cryptically error out during compilation, if neither the
std
norlibm
features were specified. This is due tono_std
being turned on, which removed many methods from thef32
andf64
primitives, while glam simultaneously would try to use those methods.To solve this, I added a compilation error if no math backend is specified.
However, this
compile_error!()
does not silence the compilation errors generated by the use of non-existent methods. To silence them, I added a new module toglam::f32::math
andglam::f64::math
- one which defines the methods, but points them all tounimplemented!()
.The end result is that, if a backend is specified, glam compiles as normal - but if no backend is specified, glam returns a compilation error: