We have moved our forum to GitHub Discussions. For questions about Phalcon v3/v4/v5 you can visit here and for Phalcon v6 here.

Strange 'redeclare' issue with macros in Volt

I am scratching my head on this one.. very strange. I am attempting to implement a macro... created a small test case. This is my macro

{%- macro wtf(test) %}
{%- endmacro %}

It renders this PHP code

//Line 53:
<?php function vmacro_wtf($__p) { if (isset($__p[0])) { $test = $__p[0]; } else { if (isset($__p['test'])) { $test = $__p['test']; } else {  throw new \Phalcon\Mvc\View\Exception("Macro wtf was called without parameter: test");  } }  ?>^M
//Line 54:
<li><?php echo $test->title; ?></li><?php } ?>^M

I have checked the file in its entirety and only see this one declaration... yet I am getting the following error in my output

Fatal error: Cannot redeclare vmacro_wtf() (previously declared in /var/www/website/dev/application/cache/_var_www_website_dev_application_views_index_index.html.php:53) in /var/www/website/dev/application/cache/_var_www_website_dev_application_views_index_index.html.php on line 54

I am staring at the screen very confused... why it believes I am redeclaring a function with the closing bracket of vmaco_wtf. Did I do something wrong? If not I can certainly post this as a bug but it is more likely my stupidity. Or am I just losing my mind?

I have same issue too... Anybody knows how to fix it?