Changed
-
(Breaking change!) A new mandatory parameter
--omit-non-api-types
(pass eithertrue
orfalse
).This parameter determines when to preserve or omit private nested types in value types. We have made it mandatory since the previous changes in the value type behavior might've been caused confusion in cases when the user wanted to remove all the private API from an assembly.
--omit-non-api-types false
closely corresponds to the behavior from 1.0.33;--omit-non-api-types true
corresponds to the behavior from 1.0.32.Refasmer now does its best to preserve some of the value type semantics even with
--omit-non-api-types true
: it will emit synthetic private field in a value type even if it has removed all the fields before. Note that this change might not preserve the type blittability and still affect the compilation.