[ 
https://issues.apache.org/jira/browse/THRIFT-1028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Lavoie updated THRIFT-1028:
-------------------------------------

    Priority: Minor  (was: Critical)
    Assignee: Christian Lavoie

This is related to THRIFT-918 and THRIFT-652 -- capitalization isn't awesome in 
the Haskell bindings.

Jesper -- I thought I fixed that in the SVN Repos. Can you check out trunk and 
see if that works for you? The Haskell bindings in trunk are significantly less 
buggy than in the release version (IIRC -- I can never remember if we made a 
release since my slew of patches).

> field names of structs used with wrong casing in the generated haskell code
> ---------------------------------------------------------------------------
>
>                 Key: THRIFT-1028
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1028
>             Project: Thrift
>          Issue Type: Bug
>          Components: Haskell - Compiler
>    Affects Versions: 0.5
>         Environment: ghc 6.12.1, Thrift version 0.5.0, ubuntu 10.10
>            Reporter: Jesper Reenberg
>            Assignee: Christian Lavoie
>            Priority: Minor
>
> 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{f_Test_foo=Nothing,f_Test_barBaz=Nothing,f_Test_hestTest=Nothing})
>   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.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to