All generated messages implement this interface, but so do some non-message types.
Additionally, due to the type constraint on T in IMessage<T>,
it is simpler to keep this as a separate interface.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe content focuses on the \u003ccode\u003eIDeepCloneable<T>\u003c/code\u003e interface within the Google.Protobuf library, specifically version 3.15.8, with links to other versions like 3.23.0 and the latest 3.27.1.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eIDeepCloneable<T>\u003c/code\u003e is a generic interface that allows for the deep cloning of objects, with the type parameter \u003ccode\u003eT\u003c/code\u003e representing the type of object returned by the \u003ccode\u003eClone()\u003c/code\u003e method.\u003c/p\u003e\n"],["\u003cp\u003eAll generated messages in Google.Protobuf implement this interface, as well as other non-message types, with the interface being kept separate due to type constraints in \u003ccode\u003eIMessage<T>\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe interface has a single method \u003ccode\u003eClone()\u003c/code\u003e which returns a deep clone of the object, of the type \u003ccode\u003eT\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,[]]