Is your feature request related to a problem? Please describe.
Right now, when we want to say "this parameter must be a string denoting a valid CMake variable name," we use the desc type. However, desc is allowed to contain spaces and other special characters that are not valid in CMake variable names. This results in signatures not being specific enough and can lead to very hard-to-debug errors
Describe the solution you'd like
It would be nice to introduce a new built-in type, say we call it identifier, that is descended from desc but adds additional restrictions such that every identifier is guaranteed to be a valid CMake identifier. Pointers can then descend from identifier instead of desc. fxn may also descend from identifier since command names also follow the same restrictions.
Is your feature request related to a problem? Please describe.
Right now, when we want to say "this parameter must be a string denoting a valid CMake variable name," we use the
desctype. However,descis allowed to contain spaces and other special characters that are not valid in CMake variable names. This results in signatures not being specific enough and can lead to very hard-to-debug errorsDescribe the solution you'd like
It would be nice to introduce a new built-in type, say we call it
identifier, that is descended fromdescbut adds additional restrictions such that everyidentifieris guaranteed to be a valid CMake identifier. Pointers can then descend fromidentifierinstead ofdesc.fxnmay also descend fromidentifiersince command names also follow the same restrictions.