You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
A value object implementing an interface derived from IValueObject<,> fails with a Metalama error naming nothing #192
LAMA0512: The aspect 'ValueObjectContractAspect' cannot implement interface 'IValueObject<OrderId, Guid>' in the type 'OrderId' because the type already implements it and WhenExists is set to Fail, beside CS0535 for IValueObject<OrderId, Guid>.Value. Measured on release/2.4.0 at 97c87c1, 2026-10-30.
ValueObjectDeclaration.GeneratedMembersDeclaredByHand refuses IValueObject<,>, IValueObjectMaterializer<,> and IPlainValueObject<,> declared on the value object (CMTK1011), reading ImplementedInterfaces; declared through another interface it reaches the aspect.
What you expected
Either the value object is generated (the interface is only a constraint, and the generated Value implements it), or CMTK1011 names the interface. Which one is a design question: accepting it means ImplementInterface with another strategy and a check that the user's interface adds no member the generators don't write.
Environment
.NET SDK 10.0.4xx, Metalama 2026.1; any consumer.
Found by variant analysis while fixing #191 (the same "declared through an interface" axis, where IConvertible crashed with LAMA0041).
Activity
CaffeinatedCoder commentedon Oct 30, 2026
Fixed by #204, merged into
release/2.3.1as dbdd44e; ships in 2.3.1.