thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michaël Melchiore (Jira) <j...@apache.org>
Subject [jira] [Created] (THRIFT-5067) Invalid generated Cpp code from valid Thrift IDL with dots in file names for nested namespaces
Date Tue, 14 Jan 2020 22:47:00 GMT
Michaël Melchiore created THRIFT-5067:
-----------------------------------------

             Summary: Invalid generated Cpp code from valid Thrift IDL with dots in file names
for nested namespaces
                 Key: THRIFT-5067
                 URL: https://issues.apache.org/jira/browse/THRIFT-5067
             Project: Thrift
          Issue Type: Bug
          Components: C++ - Compiler
            Reporter: Michaël Melchiore


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.

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message