We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
const
When parsing (some) literals of the form const x: TYPE = EXPR; we run into a compiler error, e.g.,
const x: TYPE = EXPR;
module foo; const a: uint8 = 12; # Fails. # const a = uint8(12); # Works. type X = unit { : a; };
$ spicyc -d foo.spicy [internal-error] codegen: literal parser did not return expression for '12' --- Aborting # 0 libhilti.dylib 0x0000000108bc11c0 _ZN5hilti2rt9BacktraceC2Ev + 528 # 1 libhilti.dylib 0x0000000108bc1820 _ZN5hilti2rt9BacktraceC1Ev + 28 # 2 libhilti.dylib 0x0000000108486948 _ZN5hilti4util18abortWithBacktraceEv + 420 # 3 libhilti.dylib 0x000000010845129c _ZN5hilti6Logger13internalErrorERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEERKNS_8LocationE + 480 # 4 libspicy.dylib 0x0000000103f6974c _ZN5spicy6detail7codegen13ParserBuilder12parseLiteralERKNS1_10ProductionEPN5hilti10ExpressionE + 828 # 5 libspicy.dylib 0x0000000103e0f2c0 _ZN5spicy6detail7codegen17ProductionVisitorclEPKNS1_10production4CtorE + 128 # 6 libspicy.dylib 0x0000000103da1778 _ZNK5spicy6detail7codegen10production4Ctor8dispatchERNS2_7VisitorE + 172 # 7 libspicy.dylib 0x0000000103ed5428 _ZN5spicy6detail7codegen10production7Visitor8dispatchEPKNS1_10ProductionE + 196 # 8 libspicy.dylib 0x0000000103ecbdf4 _ZN5spicy6detail7codegen17ProductionVisitor16_parseProductionERKNS1_10ProductionEbRKNS1_10production4MetaE + 8540 # 9 libspicy.dylib 0x0000000103ddd194 _ZN5spicy6detail7codegen17ProductionVisitor15parseProductionERKNS1_10ProductionEb + 88 # 10 libspicy.dylib 0x0000000103e8fe58 _ZZN5spicy6detail7codegen17ProductionVisitorclEPKNS1_10production4UnitEENKUlRKT_E_clINSt3__110unique_ptrINS1_10ProductionENSC_14default_deleteISE_EEEEEEDaS9_ + 420 # 11 libspicy.dylib 0x0000000103e1a480 _ZN5spicy6detail7codegen17ProductionVisitorclEPKNS1_10production4UnitE + 13744 # 12 libspicy.dylib 0x0000000103d8eff0 _ZNK5spicy6detail7codegen10production4Unit8dispatchERNS2_7VisitorE + 172 # 13 libspicy.dylib 0x0000000103f0bd40 _ZN5spicy6detail7codegen10production7Visitor8dispatchERKNS1_10ProductionE + 172 # 14 libspicy.dylib 0x0000000103f0af14 _ZZZN5spicy6detail7codegen17ProductionVisitor24parseNonAtomicProductionERKNS1_10ProductionEPNS_4type4UnitEENKUlRT_E_clIN5hilti2IDEEEDaSA_ENKUlvE2_clEv + 2068 # 15 libspicy.dylib 0x0000000103ef60b0 _ZZZN5spicy6detail7codegen17ProductionVisitor24parseNonAtomicProductionERKNS1_10ProductionEPNS_4type4UnitEENKUlRT_E_clIN5hilti2IDEEEDaSA_ENKUlbE0_clEb + 8900 # 16 libspicy.dylib 0x0000000103eea04c _ZZN5spicy6detail7codegen17ProductionVisitor24parseNonAtomicProductionERKNS1_10ProductionEPNS_4type4UnitEENKUlRT_E_clIN5hilti2IDEEEDaSA_ + 5236 # 17 libspicy.dylib 0x0000000103ee7cc0 _ZN5hilti4util5CacheINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS_2IDEE11getOrCreateIZN5spicy6detail7codegen17ProductionVisitor24parseNonAtomicProductionERKNSE_10ProductionEPNSC_4type4UnitEEUlvE_ZNSF_24parseNonAtomicProductionESI_SL_EUlRT_E_EERKS9_RKS8_OSN_OT0_ + 804 # 18 libspicy.dylib 0x0000000103ed5b20 _ZN5spicy6detail7codegen17ProductionVisitor24parseNonAtomicProductionERKNS1_10ProductionEPNS_4type4UnitE + 1768 # 19 libspicy.dylib 0x0000000103ecd35c _ZN5spicy6detail7codegen17ProductionVisitor16_parseProductionERKNS1_10ProductionEbRKNS1_10production4MetaE + 14020 # 20 libspicy.dylib 0x0000000103ecab08 _ZN5spicy6detail7codegen17ProductionVisitor16_parseProductionERKNS1_10ProductionEbRKNS1_10production4MetaE + 3696 # 21 libspicy.dylib 0x0000000103ddd194 _ZN5spicy6detail7codegen17ProductionVisitor15parseProductionERKNS1_10ProductionEb + 88 # 22 libspicy.dylib 0x0000000103dccafc _ZN5spicy6detail7codegen13ParserBuilder16addParserMethodsEPN5hilti4type6StructEPNS_4type4UnitEb + 39632 # 23 libspicy.dylib 0x0000000103fc8cc0 _ZN5spicy6detail7CodeGen11compileUnitEPNS_4type4UnitEb + 58212 # 24 libspicy.dylib 0x0000000103c178b0 _ZN12_GLOBAL__N_112VisitorPass1clEPN5hilti11declaration4TypeE + 1584 # 25 libspicy.dylib 0x0000000103fe5670 _ZN5hilti11declaration4Type8dispatchERNS_7visitor10DispatcherE + 436 # 26 libspicy.dylib 0x0000000103c18cc4 _ZN5hilti7visitor7VisitorILNS0_5OrderE1EN5spicy7visitor10DispatcherEE8dispatchEPNS_4NodeE + 196 # 27 libspicy.dylib 0x0000000103c0dbcc _ZN5hilti7visitor5visitIRN12_GLOBAL__N_112VisitorPass1ENS_11declaration6ModuleEEEDaOT_PT0_NSt3__117basic_string_viewIcNSC_11char_traitsIcEEEE + 1044 # 28 libspicy.dylib 0x0000000103c0cb4c _ZN5spicy6detail7CodeGen14_compileModuleEPN5hilti11declaration6ModuleEiPNS0_7codegen7ASTInfoE + 1000 # 29 libspicy.dylib 0x0000000103ccd0e4 _ZZN5spicy6detail7CodeGen10compileASTEPN5hilti7ASTRootEEN13VisitorModuleclEPNS2_11declaration6ModuleE + 1244 # 30 libhilti.dylib 0x0000000107b9e19c _ZN5hilti11declaration6Module8dispatchERNS_7visitor10DispatcherE + 436 # 31 libspicy.dylib 0x0000000103c18cc4 _ZN5hilti7visitor7VisitorILNS0_5OrderE1EN5spicy7visitor10DispatcherEE8dispatchEPNS_4NodeE + 196
I would have expected this code to compile, but if it cannot due to some conceptual reason we should reject it cleanly.
The text was updated successfully, but these errors were encountered:
Fix the literals parsers not following coercions.
9cec3fc
Closes #1858.
ea82c66
Merge remote-tracking branch 'origin/topic/robin/gh-1858-parse-constant'
393f524
* origin/topic/robin/gh-1858-parse-constant: Fix the literals parsers not following coercions.
rsmmr
Successfully merging a pull request may close this issue.
When parsing (some) literals of the form
const x: TYPE = EXPR;
we run into a compiler error, e.g.,I would have expected this code to compile, but if it cannot due to some conceptual reason we should reject it cleanly.
The text was updated successfully, but these errors were encountered: