fpco / inline-c

284 stars 50 forks source link

Show the string of parse-error #97

Closed junjihashimoto closed 4 years ago

junjihashimoto commented 4 years ago

Quickcheck fails, when we use the seed(996343399). But current test-code does not show the failed string(GeOIop36R9BfZ2zktb61 T.FhQ.l). This PR uses the seed and shows the failed string.

bitonic commented 4 years ago

Thanks a lot for reporting this. I have merged a slightly modified version of your commit: 9183ec82ecc092515e1bac5cd1fdb1824097aeb9 .

The bug is due to the following behavior. When parsing a parameter declaration, we first parse all "declaration specifiers", and then the identifier. The problem highlighted by that test is when we have a declaration A B.C where the intended reading is "B.C of type A", with B.C being a Haskell interpreter. However, if B is a C type, we parse A and B as declaration specifiers, and we cannot proceed further.

I think for now it's OK to just not accept such declarations. I'll amend the quickcheck properties so that they're not considered valid to begin with.

bitonic commented 4 years ago

OK, 4a4bf5edd42687298366f0a8bdad86adb986e9af should fix this. Thanks again!

junjihashimoto commented 4 years ago

Thank you for quick help and updating the test.