impl {{ super_trait_path }} for {{ wrapper_name }} {
fn name(&self) -> &str {
&self.cached_name
}
fn version(&self) -> {% if version_is_fallible %}std::result::Result<String, {{ error_path }}>{% else %}String{% endif %} {
{% for line in version_lines %}
{{ line }}
{% endfor %}
}
fn initialize(&self) -> std::result::Result<(), {{ error_path }}> {
{% for line in init_lines %}
{{ line }}
{% endfor %}
}
fn shutdown(&self) -> std::result::Result<(), {{ error_path }}> {
{% for line in shutdown_lines %}
{{ line }}
{% endfor %}
}
}