Affects Version/s: None
Fix Version/s: None
Component/s: C++ - Compiler
I classify this as a bug as valid Thrift file silently generates invalid C++ code. Feel free to change the issue type if you disagree.
I use a a namespace hierarchy for my Thrift data model. When writing nested namespaces, I tend to represent to parent-child relationship of these namespaces in their the containing file names.
So for example, I have the following relationship:
- namespace "base" defined in file "base.thrift"
- name "base.net" defined in file "base.net.thrift"
Note that this convention of using dots to separate namespaces seems consistent with Thrift namespace syntax.
The generated Cpp header for the base.net namespace does not compile: the include guard variable name uses the dot which is not valid C++ syntax.
I think the Cpp compiler should replace dots with underscores when generating the include guard.