Skip to content

Instantly share code, notes, and snippets.

@mik30s
Created June 4, 2017 20:02
Show Gist options
  • Save mik30s/fedfb86f0a4dc46b2b679d6de53a77f1 to your computer and use it in GitHub Desktop.
Save mik30s/fedfb86f0a4dc46b2b679d6de53a77f1 to your computer and use it in GitHub Desktop.
Recursive lambda error
In file included from /home/michael/Code/repos/breckel/compiler/sources/symboltablebuilder.h:9:0,
from /home/michael/Code/repos/breckel/compiler/sources/symboltablebuilder.cpp:1:
/home/michael/Code/repos/breckel/compiler/sources/ast.h: In instantiation of ‘brekell::frontend::Ast::traverse(brekell::frontend::Ast::TraversalType, Processor)::<lambda(auto:1&)>::<lambda(Processor, brekell::frontend::Ast::NodePtr&, auto:2)> mutable [with auto:2 = brekell::frontend::Ast::traverse(brekell::frontend::Ast::TraversalType, Processor)::<lambda(auto:1&)> [with auto:1 = brekell::semantics::SymbolTableBuilder::build()::<lambda(brekell::frontend::Ast::NodePtr&)>; Processor = brekell::semantics::SymbolTableBuilder::build()::<lambda(brekell::frontend::Ast::NodePtr&)>]::<lambda(brekell::semantics::SymbolTableBuilder::build()::<lambda(brekell::frontend::Ast::NodePtr&)>, brekell::frontend::Ast::NodePtr&, auto:2)>; auto:1 = brekell::semantics::SymbolTableBuilder::build()::<lambda(brekell::frontend::Ast::NodePtr&)>; Processor = brekell::semantics::SymbolTableBuilder::build()::<lambda(brekell::frontend::Ast::NodePtr&)>; brekell::frontend::Ast::NodePtr = std::shared_ptr<brekell::frontend::Node>]’:
/home/michael/Code/repos/breckel/compiler/sources/ast.h:43:34: required from ‘brekell::frontend::Ast::traverse(brekell::frontend::Ast::TraversalType, Processor)::<lambda(auto:1&)> [with auto:1 = brekell::semantics::SymbolTableBuilder::build()::<lambda(brekell::frontend::Ast::NodePtr&)>; Processor = brekell::semantics::SymbolTableBuilder::build()::<lambda(brekell::frontend::Ast::NodePtr&)>]’
/home/michael/Code/repos/breckel/compiler/sources/ast.h:48:26: required from ‘void brekell::frontend::Ast::traverse(brekell::frontend::Ast::TraversalType, Processor) [with Processor = brekell::semantics::SymbolTableBuilder::build()::<lambda(brekell::frontend::Ast::NodePtr&)>]’
/home/michael/Code/repos/breckel/compiler/sources/symboltablebuilder.cpp:22:6: required from here
/home/michael/Code/repos/breckel/compiler/sources/ast.h:40:25: error: use of ‘brekell::frontend::Ast::traverse(brekell::frontend::Ast::TraversalType, Processor)::<lambda(auto:1&)>::<lambda(Processor, brekell::frontend::Ast::NodePtr&, auto:2)> mutable [with auto:2 = brekell::frontend::Ast::traverse(brekell::frontend::Ast::TraversalType, Processor)::<lambda(auto:1&)> [with auto:1 = brekell::semantics::SymbolTableBuilder::build()::<lambda(brekell::frontend::Ast::NodePtr&)>; Processor = brekell::semantics::SymbolTableBuilder::build()::<lambda(brekell::frontend::Ast::NodePtr&)>]::<lambda(brekell::semantics::SymbolTableBuilder::build()::<lambda(brekell::frontend::Ast::NodePtr&)>, brekell::frontend::Ast::NodePtr&, auto:2)>; auto:1 = brekell::semantics::SymbolTableBuilder::build()::<lambda(brekell::frontend::Ast::NodePtr&)>; Processor = brekell::semantics::SymbolTableBuilder::build()::<lambda(brekell::frontend::Ast::NodePtr&)>; brekell::frontend::Ast::NodePtr = std::shared_ptr<brekell::frontend::Node>]’ before deduction of ‘auto’
self(func, childPtr, self);
~~~~^~~~~~~~~~~~~~~~~~~~~~
CMakeFiles/compiler.dir/build.make:158: recipe for target 'CMakeFiles/compiler.dir/sources/symboltablebuilder.cpp.o' failed
make[2]: *** [CMakeFiles/compiler.dir/sources/symboltablebuilder.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/compiler.dir/all' failed
make[1]: *** [CMakeFiles/compiler.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment