{"type":"rich","blog_url":"https://haru-s.hatenablog.com/","description":"import std.traits; interface I { I clone(); } class C : I { override C clone() // I.clone() \u306e\u5171\u5909\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9 { return new C; } } void main() { { static assert(isCovariantWith!(typeof(C.clone), typeof(I.clone))); }{ C function() derived; I function() base; // static assert(is(typeof(derived) == function));\u2026","author_name":"haru-s","height":"190","categories":["D\u8a00\u8a9e"],"width":"100%","provider_url":"https://hatena.blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fharu-s.hatenablog.com%2Fentry%2F20111105%2F1320505115\" title=\"std.traits.isCovariantWith - ...ing logging 4.0\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","blog_title":"...ing logging 4.0","version":"1.0","author_url":"https://blog.hatena.ne.jp/haru-s/","image_url":null,"published":"2011-11-05 23:58:35","url":"https://haru-s.hatenablog.com/entry/20111105/1320505115","title":"std.traits.isCovariantWith","provider_name":"Hatena Blog"}