sogou / srpc

RPC framework based on C++ Workflow. Supports SRPC, Baidu bRPC, Tencent tRPC, thrift protocols.
Apache License 2.0
1.94k stars 383 forks source link

有2层namespace时,生成代码出错 #392

Open longyn opened 3 months ago

longyn commented 3 months ago

struct PingData { 1: i32 src = 0; 2: i32 dst; 3: i32 payload; }


- ping.thrift

```thrift
include "define.thrift"
// namespace of cpp code
namespace cpp Net.Ping

typedef define.PingData SPingData_t;

service TPingService
{
  void ping();

  i32 payload(1: define.PingData data);
}

生成代码如下:

namespace Net {

namespace Ping {

typedef Net::PingData SPingData_t;; ...



代码生成应为`Net::Ping::PingData`, 实际为`Net::PingData`, 只取了第一层namespace
Barenboim commented 3 months ago

多谢报bug。我们修一下。

Barenboim commented 3 months ago

https://github.com/sogou/srpc/pull/393 可以看一下这个修改。

longyn commented 3 months ago

@Barenboim 多谢快速回复,确认此修复有效