struct Test {
int a;
}
Test test;
writeln(test.serializeYaml());
<...>\mir-ion\2.3.3\mir-ion\source\mir\ser\yaml.d(67,40): Error: `@safe` function `mir.ser.yaml.serializeYaml!(Test).serializeYaml` cannot call `@system` function `mir.ion.conv.serde!(Algebraic!(Yaml_)).serde!(Test).serde`
<...>\mir-ion\2.3.3\mir-ion\source\mir\ion\conv.d(29,10): which calls `mir.ion.conv.serde!(Algebraic!(Yaml_)).serde!(Test).serde`
<...>\mir-ion\2.3.3\mir-ion\source\mir\deser\ion.d(32,10): which calls `mir.deser.ion.deserializeIon!(Algebraic!(Yaml_), false).deserializeIon!().deserializeIon`
<...>\mir-ion\2.3.3\mir-ion\source\mir\deser\ion.d(84,10): which calls `mir.deser.ion.deserializeIon!(Algebraic!(Yaml_), false).deserializeIon!().deserializeIon`
<...>\mir-ion\2.3.3\mir-ion\source\mir\deser\ion.d(114,19): which wasn't inferred `@safe` because of:
<...>\mir-ion\2.3.3\mir-ion\source\mir\deser\ion.d(114,19): scope variable `exception` may not be thrown
<...>\mir-ion\2.3.3\mir-ion\source\mir\ion\conv.d(21,7): `mir.ion.conv.serde!(Algebraic!(Yaml_)).serde!(Test).serde` is declared here
Error: template instance `mir.ser.yaml.serializeYaml!(Test)` error instantiating
Error ldc2 failed with exit code 1.
Simple example:
Compilation output: