diff --git a/src/encoders/wat.rs b/src/encoders/wat.rs index 8eaa529..9e4504a 100644 --- a/src/encoders/wat.rs +++ b/src/encoders/wat.rs @@ -295,6 +295,15 @@ impl<'input> ToString for &Interfaces<'input> { accumulator }); + let exports = self + .exports + .iter() + .fold(String::new(), |mut accumulator, export| { + accumulator.push('\n'); + accumulator.push_str(&export.to_string()); + accumulator + }); + let imports = self .imports .iter() @@ -313,15 +322,6 @@ impl<'input> ToString for &Interfaces<'input> { accumulator }); - let exports = self - .exports - .iter() - .fold(String::new(), |mut accumulator, export| { - accumulator.push('\n'); - accumulator.push_str(&export.to_string()); - accumulator - }); - let implementations = self.implementations .iter() @@ -344,6 +344,13 @@ impl<'input> ToString for &Interfaces<'input> { separator(&mut output); + if !exports.is_empty() { + output.push_str(";; Exports"); + output.push_str(&exports); + } + + separator(&mut output); + if !imports.is_empty() { output.push_str(";; Imports"); output.push_str(&imports); @@ -358,13 +365,6 @@ impl<'input> ToString for &Interfaces<'input> { separator(&mut output); - if !exports.is_empty() { - output.push_str(";; Exports"); - output.push_str(&exports); - } - - separator(&mut output); - if !implementations.is_empty() { output.push_str(";; Implementations"); output.push_str(&implementations);