using System; class X { public static U Foo (double? value, Func f, int dv = 0) { throw new ApplicationException (); } public static U Foo (T? source, Func f) where T : struct { return default (U); } static void Main (string[] args) { Foo (default (double?), v => v / 100); } }