Closed oprypin closed 8 years ago
Thank you for reporting this, @BlaXpirit
The problem is because of these lines:
require "compiler/crystal/*"
require "compiler/crystal/syntax/parser"
require "compiler/crystal/syntax/transformer"
require "compiler/crystal/semantic/*"
They don't require the full compiler's source, and because of new type annotations they now don't work because some types are not imported. It's fixed if we change it to:
require "compiler/crystal/**"
That's a temporary solution I will apply.
In the long term, the compiler's source code should be organized in a way that only the syntax, or syntax+semantic parts of the compiler could be require
d, but right now that's not the case (so it's better to just require the whole thing).
I was initially a bit worried that we introduced a regression in the compiler, but doesn't seem like it :sweat_smile:
First off, this may be a problem with the compiler itself, but other libs work under the same circumstances
Steps to reproduce:
Run Ubuntu 14.04, for example:
Error:
Some other things I tried: https://travis-ci.org/BlaXpirit/crystal-lib/builds