You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Asyakin Andrey (JIRA)" <ji...@apache.org> on 2011/09/14 13:21:08 UTC
[jira] [Created] (THRIFT-1346) Incorrectly generates code for 'set'
return type.
Incorrectly generates code for 'set' return type.
-------------------------------------------------
Key: THRIFT-1346
URL: https://issues.apache.org/jira/browse/THRIFT-1346
Project: Thrift
Issue Type: Bug
Components: Perl - Compiler
Affects Versions: 0.7
Environment: Ubuntu/Centos, perl 5.10.1
Reporter: Asyakin Andrey
If return value is the 'set<type>', where type is sctruct, for example:
struct Result
{
1: string response;
2: i32 count;
}
service URLScheduler { set <Result> getResult(); }
produced the following deserialize code:
/^0$/ && do{ if ($ftype == TType::SET) {
{
$self->{success} = {};
# ...
$elem5 = new XXX::Thrift::Result();
$xfer += $elem5->read($input);
*$self->\{success\}->\{$elem5\} = 1;*
which gives { "XXX::Thrift::MyType=HASH(0x935b818)" => 1, ... }
Clearly, this is not true for the classes. It seems that this will not prevent something like that:
$self->{success}->{$elem5} = ref $elem5 ? $elem5 : 1;
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira