<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Contract Annotations in ReSharper 7</title>
	<atom:link href="http://blogs.jetbrains.com/dotnet/2012/08/contract-annotations-in-resharper-7/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.jetbrains.com/dotnet/2012/08/contract-annotations-in-resharper-7/</link>
	<description>ReSharper for productivity, dotTrace for performance, dotCover for test coverage</description>
	<pubDate>Wed, 19 Jun 2013 12:33:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
		<item>
		<title>By: Dmitri Nesteruk</title>
		<link>http://blogs.jetbrains.com/dotnet/2012/08/contract-annotations-in-resharper-7/#comment-446818</link>
		<dc:creator>Dmitri Nesteruk</dc:creator>
		<pubDate>Sun, 31 Mar 2013 10:52:08 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.jetbrains.com/dotnet/?p=2741#comment-446818</guid>
		<description>@Michael @foo setting forceFullStates=true causes R#'s analysis to become pessimistic, i.e., if the state of a variable is unknown, R# will assume that the variable might be null.</description>
		<content:encoded><![CDATA[<p>@Michael @foo setting forceFullStates=true causes R#&#8217;s analysis to become pessimistic, i.e., if the state of a variable is unknown, R# will assume that the variable might be null.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: foo</title>
		<link>http://blogs.jetbrains.com/dotnet/2012/08/contract-annotations-in-resharper-7/#comment-446672</link>
		<dc:creator>foo</dc:creator>
		<pubDate>Thu, 28 Mar 2013 12:15:05 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.jetbrains.com/dotnet/?p=2741#comment-446672</guid>
		<description>I'll repeat Michael's question and ask, what's the forceFullStates parameter for?</description>
		<content:encoded><![CDATA[<p>I&#8217;ll repeat Michael&#8217;s question and ask, what&#8217;s the forceFullStates parameter for?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Allon Guralnek</title>
		<link>http://blogs.jetbrains.com/dotnet/2012/08/contract-annotations-in-resharper-7/#comment-374801</link>
		<dc:creator>Allon Guralnek</dc:creator>
		<pubDate>Mon, 22 Oct 2012 16:08:29 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.jetbrains.com/dotnet/?p=2741#comment-374801</guid>
		<description>What about "null =&#62; exception" Or is this the same as "null =&#62; halt"?</description>
		<content:encoded><![CDATA[<p>What about &#8220;null =&gt; exception&#8221; Or is this the same as &#8220;null =&gt; halt&#8221;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jura Gorohovsky</title>
		<link>http://blogs.jetbrains.com/dotnet/2012/08/contract-annotations-in-resharper-7/#comment-367824</link>
		<dc:creator>Jura Gorohovsky</dc:creator>
		<pubDate>Wed, 12 Sep 2012 19:54:23 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.jetbrains.com/dotnet/?p=2741#comment-367824</guid>
		<description>@Jason
&lt;a href="http://youtrack.jetbrains.com/issue/RSRP-182553#comment=27-200330" rel="nofollow"&gt;This comment&lt;/a&gt; explains why.</description>
		<content:encoded><![CDATA[<p>@Jason<br />
<a href="http://youtrack.jetbrains.com/issue/RSRP-182553#comment=27-200330" rel="nofollow">This comment</a> explains why.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Newell</title>
		<link>http://blogs.jetbrains.com/dotnet/2012/08/contract-annotations-in-resharper-7/#comment-367817</link>
		<dc:creator>Jason Newell</dc:creator>
		<pubDate>Wed, 12 Sep 2012 15:26:10 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.jetbrains.com/dotnet/?p=2741#comment-367817</guid>
		<description>Really disappointed that Resharper has decided to invent their own form of code contracts rather than support the Microsoft version.</description>
		<content:encoded><![CDATA[<p>Really disappointed that Resharper has decided to invent their own form of code contracts rather than support the Microsoft version.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sergey Kuks</title>
		<link>http://blogs.jetbrains.com/dotnet/2012/08/contract-annotations-in-resharper-7/#comment-367282</link>
		<dc:creator>Sergey Kuks</dc:creator>
		<pubDate>Fri, 31 Aug 2012 11:16:19 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.jetbrains.com/dotnet/?p=2741#comment-367282</guid>
		<description>@repka, If both null and not-null input may produce null output you probably better use CanBeNull annotation instead, because there is no obvious correlation between input and output.</description>
		<content:encoded><![CDATA[<p>@repka, If both null and not-null input may produce null output you probably better use CanBeNull annotation instead, because there is no obvious correlation between input and output.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: repka</title>
		<link>http://blogs.jetbrains.com/dotnet/2012/08/contract-annotations-in-resharper-7/#comment-367281</link>
		<dc:creator>repka</dc:creator>
		<pubDate>Fri, 31 Aug 2012 10:35:59 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.jetbrains.com/dotnet/?p=2741#comment-367281</guid>
		<description>Awesome feature, one thing irked me though: what do you mean by null =&#62; null being "automatically complemented with notnull =&#62; notnull"? Is this a mistake? Why can't notnull =&#62; null in some cases? How about true =&#62; false. Is it "automatically complemented" with false =&#62; true? I can understand such thing to be introduced for compatibility with some obsolete format of annotations, but if so, you should get rid of it as soon as possible, if you plan to keep these contracts for a while and extend them, stuff like that will cause trouble.

Talking about extending them: please take a look at my proposal for Cleanup Annotations feature here: http://youtrack.jetbrains.com/issue/RSRP-329639 . It covers not only IDisposable tracking, but tracking of any values which must be somehow released, closed, completed, exited or cleaned up in any other way. E.g. files, sockets, transactions, identity impersonations, monitor locks, reader/writer locks, etc.</description>
		<content:encoded><![CDATA[<p>Awesome feature, one thing irked me though: what do you mean by null =&gt; null being &#8220;automatically complemented with notnull =&gt; notnull&#8221;? Is this a mistake? Why can&#8217;t notnull =&gt; null in some cases? How about true =&gt; false. Is it &#8220;automatically complemented&#8221; with false =&gt; true? I can understand such thing to be introduced for compatibility with some obsolete format of annotations, but if so, you should get rid of it as soon as possible, if you plan to keep these contracts for a while and extend them, stuff like that will cause trouble.</p>
<p>Talking about extending them: please take a look at my proposal for Cleanup Annotations feature here: <a href="http://youtrack.jetbrains.com/issue/RSRP-329639" rel="nofollow">http://youtrack.jetbrains.com/issue/RSRP-329639</a> . It covers not only IDisposable tracking, but tracking of any values which must be somehow released, closed, completed, exited or cleaned up in any other way. E.g. files, sockets, transactions, identity impersonations, monitor locks, reader/writer locks, etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jura Gorohovsky</title>
		<link>http://blogs.jetbrains.com/dotnet/2012/08/contract-annotations-in-resharper-7/#comment-366819</link>
		<dc:creator>Jura Gorohovsky</dc:creator>
		<pubDate>Mon, 20 Aug 2012 21:12:37 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.jetbrains.com/dotnet/?p=2741#comment-366819</guid>
		<description>@Martin, Lars-Erik
Unfortunately support for Microsoft Code Contracts per se is not on the schedule for the reasons stated &lt;a href="http://youtrack.jetbrains.com/issue/RSRP-182553#comment=27-200330" rel="nofollow"&gt;in this comment&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>@Martin, Lars-Erik<br />
Unfortunately support for Microsoft Code Contracts per se is not on the schedule for the reasons stated <a href="http://youtrack.jetbrains.com/issue/RSRP-182553#comment=27-200330" rel="nofollow">in this comment</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lars-Erik Aabech</title>
		<link>http://blogs.jetbrains.com/dotnet/2012/08/contract-annotations-in-resharper-7/#comment-366790</link>
		<dc:creator>Lars-Erik Aabech</dc:creator>
		<pubDate>Mon, 20 Aug 2012 10:48:21 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.jetbrains.com/dotnet/?p=2741#comment-366790</guid>
		<description>Ref @Martin. (+1)
Microsoft Code Contract support would be awesome. :)</description>
		<content:encoded><![CDATA[<p>Ref @Martin. (+1)<br />
Microsoft Code Contract support would be awesome. <img src='http://blogs.jetbrains.com/dotnet/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sergey Kuks</title>
		<link>http://blogs.jetbrains.com/dotnet/2012/08/contract-annotations-in-resharper-7/#comment-366652</link>
		<dc:creator>Sergey Kuks</dc:creator>
		<pubDate>Fri, 17 Aug 2012 08:48:59 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.jetbrains.com/dotnet/?p=2741#comment-366652</guid>
		<description>Here are some answers:
halt, vois and nothing all means the same (and left for backward compatibility) and used to mark method that break control flow by throwing exception or terminating program. I.e. the
[ContractAnnotattion("null =&#62; halt")]
void AssertIsNotNull(object x) {
  if (x == null)
    throw new ArgumentNullException("x")
}

We did not manage to provide intellisense for the expressions yet, the only thing we did is error highlightings.</description>
		<content:encoded><![CDATA[<p>Here are some answers:<br />
halt, vois and nothing all means the same (and left for backward compatibility) and used to mark method that break control flow by throwing exception or terminating program. I.e. the<br />
[ContractAnnotattion("null =&gt; halt")]<br />
void AssertIsNotNull(object x) {<br />
  if (x == null)<br />
    throw new ArgumentNullException(&#8221;x&#8221;)<br />
}</p>
<p>We did not manage to provide intellisense for the expressions yet, the only thing we did is error highlightings.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
