title: Why is *DoesNotReturnAttribute* not working as expected?
body: <p>Ich have a method ThrowNull covered with DoesNotReturn attribute which indicates that this method will never return.</p>
  <pre><code>[DoesNotReturn]
  public static void ThrowNull([InvokerParameterName] string argName, string? customErrorText = null, [CallerMemberName] string callerName = &quot;&quot;) =&gt; throw new ArgumentException(AddMethodName(customErrorText != null ? customErrorText.InsertArgs(argName) : Strings.ArgumentMustNotBeNullArgumentTemplate.InsertArgs(callerName), callerName), customErrorText == null ? argName : null);
  </code></pre>
  <p>but, it does not seem to work (as intended)</p>
  <pre><code>public static T ThrowIfNullOrGet&lt;T&gt;([MaybeNull, NotNullIfNotNull(&quot;source&quot;)] this T source, string argName, string? customErrorText = null, [CallerMemberName] string callerName = &quot;&quot;) where T : class
  {
      if (source != null)
          return source;
  
      Requires.ThrowNull(argName, customErrorText, callerName);
      return default; // still necessary to prevent compile error
  }
  </code></pre>
  <p>Why?</p>
  <p>Does DoesNotReturn not omit the necessity to put an return statement as it only avoids warnings?</p>