title: DateTime.TryParseExact(..... out var date) fails to build without errors, but (... out date) builds fine
body: <p>In an ASP.NET MVC project, I'm targeting .Net 4.7, and in trying to use the new features in C#7, I'm getting an odd silent failure to build.</p>
  
  <p>I have the following method:</p>
  
  <pre><code>public class DateIsValid: ValidationAttribute
  {
      public override bool IsValid(object value)
      {
          DateTime date;
          if (DateTime.TryParseExact(Convert.ToString(value), "d MMM yyyy", CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None, out date))
              return date &gt; DateTime.Now;
          else
              return false;
      }
  }
  </code></pre>
  
  <p>This builds and runs fine, without any warnings or errors.</p>
  
  <p>But, if I try to use the "out var xxx" as added in C#7, it fails to build, but does not throw any exceptions or show any errors or warnings:</p>
  
  <pre><code>public class DateIsValid: ValidationAttribute
  {
      public override bool IsValid(object value)
      {
          if (DateTime.TryParseExact(Convert.ToString(value), "d MMM yyyy", CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None, out var date))
              return date &gt; DateTime.Now;
          else
              return false;
      }
  }
  </code></pre>
  
  <p>Figuring this was just buginess in VS 2017, I tried restarting, but that did not help.  Is there a problem with what I wrote, or is this a bug that should be submitted to the VS team?</p>
  
  <p>In this same project, I'm getting the same silent failure on <code>ConcurrentQueue.TryDequeue(out var item)</code>, but using the older pattern works fine:</p>
  
  <pre><code>    int res;
      if (x.TryDequeue(out res))
      {
          res++;
      }
  </code></pre>