Hi Charles, Are you ready for another round? well, I am actually coding, and using the MonoDevelop addin.Today I ran into this COBRA INTERNAL ERROR

I can send you the entire project, it's a small application that I hope will reach fruition. It's purpose is to suggest a garden arrangement based on companion planting. I'm in the 0.1 stages, but it's coming along nicely. Anyway I'm enjoying using cobra with the concise syntax, and learning new features all the time (why is the documentation hidden? )

so back from the excursion, here is the output from MonoDevelop xbuild.

hi Charlesmy original intention with submitting the error reports about 'internal errors' was just to find where I typed something wrong, having the compiler state at least the line number where it balked. Then it would help find the problem on my own.of course your fix is much better.

With regard to this use case, what I meant to do is have a constant (or readonly) static variable that got its value just once, but during runtime.something like

Unfortunately, "is" is overloaded, which was a mistake on my part:1) an operator for reference comparisons. `a is b` in Cobra means `a` and `b` refer to the same object (pointer equality)2) a part of the syntax for declaring modifiers. `... is shared`

Community member Hopscc would like to resolve this in initialization expressions by preferring that the `is` be interpreted as 2. So far, I have resisted because at that point in the code you are in an expression.

The problem is that theres an ambiguity in the syntax with declaration with an initialisation expression (clause) and the isnames clause with the current ordering of the two of them. The most recent patch/approach for this ( from ..ahem.. 4 years ago) changes the clause ordering and the ambiguity/problem goes away ( and it doesnt even cause any problems...)

from memory the order change is along the lines that kobi7 is asking about