{%- if doc_comment %}
{{ doc_comment }}
{% endif -%}
{% if allow_clippy -%}
#[allow({{ allow_clippy }})]
{% endif -%}
{% if source_cfg -%}
#[cfg({{ source_cfg }})]
{% endif -%}
#[unsafe(no_mangle)]
pub unsafe extern "C" fn {{ fn_name }}(
{% for param in params -%}
{{ param }}{% if not loop.last %},
{% endif %}
{% endfor -%}
){% if return_type %} -> {{ return_type }}{% endif %} {
    clear_last_error();
