Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Cannot Reproduce
-
0.5
-
None
-
ghc 6.12.1, Thrift version 0.5.0, ubuntu 10.10
Description
Invalid haskell code is generated using the following thrift code:
--------------------------------------------------------
struct Test {
1:string Foo,
3:i32 BarBaz,
4:i32 HestTest
}
service Test
{ bool makeTest(1:Test tst, 2:double i) }--------------------------------------------------------
The wrong casing is generated in the record setter parts of the generated data in read_Test_fields and generation of the initial "record" in read_Test.
The wrong casing is the first letter from the thrift struct specification always being lowercase when used in the above two generated functions.
The generated data type is
data Test = Test
{ f_Test_Foo :: Maybe String , f_Test_BarBaz :: Maybe Int32 , f_Test_HestTest :: Maybe Int32 }deriving (Show,Eq,Ord,Typeable)
Where it is used with the field names f_Test_foo, f_Test_barBaz and f_Test_hestTest as seen below
read_Test iprot = do
_ <- readStructBegin iprot
record <- read_Test_fields iprot
(Test
)
readStructEnd iprot
return record
I have downloaded and build the 0.5.0 from http://thrift.apache.org/ and i don't know if it affect older versions as well.