Crystal: Bug in compiler

Created on 11 Feb 2019  路  5Comments  路  Source: crystal-lang/crystal

Hi, I've just installed the last Crystal version on Mac OSX but it keeps on giving the following error as I run my script ("Error: you've found a bug in the Crystal compiler. Please open an issue, including source code that will allowus to reproduce the bug: https://github.com/crystal-lang/crystal/issues")

I guess the problem is somehow linked to the Kemal library.

Any hints?
Thanks

Click here for the log

Error setting time on file '/Users/francesco/.cache/crystal/usr-local-Cellar-crystal-0.27.2-src-ecr-process.cr': Operation not permitted (Errno)
  from Crystal::Program#macro_compile<String>:Crystal::Program::CompiledMacroRun
  from Crystal::Program#macro_run<String, Array(String)>:Crystal::Program::MacroRunResult
  from Crystal::MacroInterpreter#interpret_top_level_call?<Crystal::Call>:(Crystal::ASTNode+ | Nil)
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MacroInterpreter>:Nil
  from Crystal::MacroInterpreter#visit<Crystal::MacroExpression>:Bool
  from Crystal::MainVisitor@Crystal::SemanticVisitor#expand_inline_macro<Crystal::MacroExpression, Nil>:Crystal::ASTNode+
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor@Crystal::SemanticVisitor#expand_macro<Crystal::Call, Bool, Bool>:Bool
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::Block>:(Bool | Nil)
  from Crystal::Block@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::Yield>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::Block>:(Bool | Nil)
  from Crystal::Block@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::Yield>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#type_assign<Crystal::Var+, Crystal::ASTNode+, Crystal::Assign, Nil>:(Crystal::MetaVar | Nil)
  from Crystal::MainVisitor#visit<Crystal::Assign>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::Return>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::ExceptionHandler>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:search_in_parents:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:search_in_parents:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:search_in_parents:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:search_in_parents:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Crystal::Type+, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_without_splat<Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:search_in_parents:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:search_in_parents:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::Return>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:search_in_parents:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::Block>:(Bool | Nil)
  from Crystal::Block@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::Yield>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#type_assign<Crystal::Var+, Crystal::ASTNode+, Crystal::Assign, Nil>:(Crystal::MetaVar | Nil)
  from Crystal::MainVisitor#visit<Crystal::Assign>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::ExceptionHandler>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:search_in_parents:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::ExceptionHandler>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:search_in_parents:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor@Crystal::SemanticVisitor#expand_inline_macro<Crystal::MacroIf, Nil>:Crystal::ASTNode+
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:search_in_parents:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in<Crystal::UnionType+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::ExceptionHandler>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::While>:(Bool | Nil)
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::ExceptionHandler>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#match_block_arg<Crystal::Match>:Tuple(Array(Crystal::Var+) | Nil, Crystal::Type+ | Nil)
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor@Crystal::SemanticVisitor#expand_macro<Crystal::Call, Bool, Bool>:Bool
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::While>:(Bool | Nil)
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::ExceptionHandler>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#match_block_arg<Crystal::Match>:Tuple(Array(Crystal::Var+) | Nil, Crystal::Type+ | Nil)
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::Block>:(Bool | Nil)
  from Crystal::Block@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::Yield>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::Block>:(Bool | Nil)
  from Crystal::Block@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::Yield>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::While>:(Bool | Nil)
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::MainVisitor#visit<Crystal::If>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Call#instantiate<Crystal::Matches, Crystal::Type+, Nil, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in_type<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Nil, String, Bool, Bool, Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches_in:with_literals<Crystal::Type+, Array(Crystal::Type+), (Array(Crystal::NamedArgumentType) | Nil), Bool>:Array(Crystal::Def+)
  from Crystal::Call#lookup_matches:with_literals<Bool>:Array(Crystal::Def+)
  from Crystal::Call#recalculate:Nil
  from Crystal::MainVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::MainVisitor>:Nil
  from Crystal::Program#visit_main<Crystal::ASTNode+, Crystal::MainVisitor, Bool, Bool>:Crystal::ASTNode+
  from Crystal::Program#semantic<Crystal::ASTNode+, Bool>:Crystal::ASTNode+
  from Crystal::Compiler#compile<Array(Crystal::Compiler::Source), String>:Crystal::Compiler::Result
  from Crystal::Command#run_command<Bool>:Nil
  from Crystal::Command#run:(Bool | Crystal::Compiler::Result | Nil)
  from __crystal_main
  from main
Error: you've found a bug in the Crystal compiler. Please open an issue, including source code that will allowus to reproduce the bug: https://github.com/crystal-lang/crystal/issues

question

Most helpful comment

Sorry guys for the long code, my fault.
By the way, before opening the issue I tried to chmod the cache folder and the existing files inside... but no luck.
Today I figured out how to fix it... I just deleted the entire folder, and it works now.
That's pretty weird, no?

Anyway, I love Crystal. Coming from C#, Php and TypeScript it has been hard at the beginning, but now I can declare it is my favorite language :)

All the best and thanks

All 5 comments

Please show the code.

It seems you don't have permissions to write to ~/.cache. btw, please use triple backticks for embedding the output.

The very first line says it all: Error setting time on file '/Users/francesco/.cache/crystal/usr-local-Cellar-crystal-0.27.2-src-ecr-process.cr': Operation not permitted (Errno)

For some reason, the compiler can't set the time on the named file. This is needed for caching compilation steps. Please ensure that the compiler executable running with the current user is able to modify files in ~/.cache/crystal.

@frankglv For pasting long stacktraces you can use collapsible block. This would help those want to read other comments and expanded by default stacktrace makes issue scrolling tedious.

Example https://gist.github.com/joyrexus/16041f2426450e73f5df9391f7f7ae5f

Sorry guys for the long code, my fault.
By the way, before opening the issue I tried to chmod the cache folder and the existing files inside... but no luck.
Today I figured out how to fix it... I just deleted the entire folder, and it works now.
That's pretty weird, no?

Anyway, I love Crystal. Coming from C#, Php and TypeScript it has been hard at the beginning, but now I can declare it is my favorite language :)

All the best and thanks

Was this page helpful?
0 / 5 - 0 ratings