diff --git a/src/macro/Expressions.cc b/src/macro/Expressions.cc
index 4b1b6fa2d079f0a7898364dd9fed554ccd50983f..17dd4ad41fa9edda3fb91f94662c6bbfc074cc6f 100644
--- a/src/macro/Expressions.cc
+++ b/src/macro/Expressions.cc
@@ -1117,12 +1117,6 @@ TrinaryOp::to_string() const noexcept
   exit(EXIT_FAILURE);
 }
 
-string
-Comprehension::to_string() const noexcept
-{
-  return "[" + c_vars->to_string() + " in " + c_set->to_string() + " when " + c_when->to_string() + "]";
-}
-
 void
 String::print(ostream &output, bool matlab_output) const noexcept
 {
diff --git a/src/macro/Expressions.hh b/src/macro/Expressions.hh
index 39082a1249a07be307a64d4a993862d9b80bfd77..ef1ee74da5263e55d88576ba245df0ac025721a1 100644
--- a/src/macro/Expressions.hh
+++ b/src/macro/Expressions.hh
@@ -468,7 +468,7 @@ namespace macro
                   Environment &env_arg, const Tokenizer::location location_arg) :
       Expression(env_arg, move(location_arg)),
       c_vars{move(c_vars_arg)}, c_set{move(c_set_arg)}, c_when{move(c_when_arg)} { }
-    string to_string() const noexcept override;
+    inline string to_string() const noexcept override { return "[" + c_vars->to_string() + " in " + c_set->to_string() + " when " + c_when->to_string() + "]"; }
     void print(ostream &output, bool matlab_output = false) const noexcept override;
     BaseTypePtr eval() override;
   };