clone
ssh://git@git.notashelf.dev:33/notashelf/nixir.gitCommit af17da34da03
tarball1 files changed+14-13
@@ -8,6 +8,7 @@ #include <sstream> #include <string> #include <unordered_map>+#include <utility> #include <variant> #include <vector> @@ -206,41 +207,41 @@ public: // Constructor implementations inline LambdaNode::LambdaNode(uint32_t a, std::shared_ptr<Node> b, uint32_t l)- : arity(a), body(b), line(l) {}+ : arity(a), body(std::move(b)), line(l) {} inline AppNode::AppNode(std::shared_ptr<Node> f, std::shared_ptr<Node> a, uint32_t l)- : func(f), arg(a), line(l) {}+ : func(std::move(f)), arg(std::move(a)), line(l) {} inline BinaryOpNode::BinaryOpNode(BinaryOp o, std::shared_ptr<Node> l, std::shared_ptr<Node> r, uint32_t ln)- : op(o), left(l), right(r), line(ln) {}+ : op(o), left(std::move(l)), right(std::move(r)), line(ln) {} inline UnaryOpNode::UnaryOpNode(UnaryOp o, std::shared_ptr<Node> operand, uint32_t l)- : op(o), operand(operand), line(l) {}+ : op(o), operand(std::move(operand)), line(l) {} inline SelectNode::SelectNode(std::shared_ptr<Node> e, std::shared_ptr<Node> a, uint32_t l)- : expr(e), attr(a), line(l) {}+ : expr(std::move(e)), attr(std::move(a)), line(l) {} inline HasAttrNode::HasAttrNode(std::shared_ptr<Node> e, std::shared_ptr<Node> a, uint32_t l)- : expr(e), attr(a), line(l) {}+ : expr(std::move(e)), attr(std::move(a)), line(l) {} inline WithNode::WithNode(std::shared_ptr<Node> a, std::shared_ptr<Node> b, uint32_t l)- : attrs(a), body(b), line(l) {}+ : attrs(std::move(a)), body(std::move(b)), line(l) {} inline IfNode::IfNode(std::shared_ptr<Node> c, std::shared_ptr<Node> t, std::shared_ptr<Node> e, uint32_t l)- : cond(c), then_branch(t), else_branch(e), line(l) {}+ : cond(std::move(c)), then_branch(std::move(t)), else_branch(std::move(e)), line(l) {} -inline LetNode::LetNode(std::shared_ptr<Node> b, uint32_t l) : body(b), line(l) {}+inline LetNode::LetNode(std::shared_ptr<Node> b, uint32_t l) : body(std::move(b)), line(l) {} -inline LetRecNode::LetRecNode(std::shared_ptr<Node> b, uint32_t l) : body(b), line(l) {}+inline LetRecNode::LetRecNode(std::shared_ptr<Node> b, uint32_t l) : body(std::move(b)), line(l) {} inline AssertNode::AssertNode(std::shared_ptr<Node> c, std::shared_ptr<Node> b, uint32_t l)- : cond(c), body(b), line(l) {}+ : cond(std::move(c)), body(std::move(b)), line(l) {} -inline ThunkNode::ThunkNode(std::shared_ptr<Node> e, uint32_t l) : expr(e), line(l) {}+inline ThunkNode::ThunkNode(std::shared_ptr<Node> e, uint32_t l) : expr(std::move(e)), line(l) {} -inline ForceNode::ForceNode(std::shared_ptr<Node> e, uint32_t l) : expr(e), line(l) {}+inline ForceNode::ForceNode(std::shared_ptr<Node> e, uint32_t l) : expr(std::move(e)), line(l) {} struct SourceFile { std::string path;