-
Notifications
You must be signed in to change notification settings - Fork 15
Description
Describe the goal of the feature
Since dd-trace-cpp requires C++17, we can take advantage of Class Template Argument Deduction (CTAD) to remove redundant template arguments at call sites and improve readability.
The goal is to:
Reduce verbosity for obvious template instantiations (e.g. RAII guard types)
Improve code clarity without changing behavior, ABI, or public APIs
Keep changes scoped and low-risk (primarily in implementation files)
Example:
// Current
std::lock_guard<std::mutex> lock(m);
// With CTAD
std::lock_guard lock(m);
Similarly, CTAD could be enabled for internal Datadog template types where the template parameter is unambiguously deducible from the constructor arguments.
This would be a purely syntactic improvement:
No behavioral changes
No API breakage
No impact on users, since C++17 is already required
I’m relatively new to contributing to open source projects and, after a recent interaction with someone from Datadog, became interested in contributing to dd-trace-cpp Working on this feature would also help me learn more about the codebase while making a small, safe improvement. If this direction sounds reasonable, I’d be happy to submit a PR starting with limited, internal usage.
Is your feature request related to a problem?
No response
Describe alternatives you've considered
No response
Additional context
No response