You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Improve const-correctness for read-only functions (e.g., sdslen, sdscmp) #154
Functions that perform read-only operations, like sdscmp, are declared with const sds parameters. Due to typedef char *sds;, const sds resolves to char * const (a constant pointer to mutable data).
This signature incorrectly implies that the function might modify the content of the sds strings.
More importantly, it makes it impossible to pass a const char * (that is known to be a valid sds string) to these functions without a cast that discards the const qualifier, which fails compilation under -Werror.
To significantly improve const-correctness and interoperability with modern C/C++ codebases, I would like to propose introducing a new type for read-only sds strings:
typedefconstchar*const_sds;
With this new type, the signatures of read-only functions could be updated or overloaded. For example:
Activity