This is Xamarin's bug tracking system. For product support, please use the support links listed in your Xamarin Account.
Bug 42611 - wrong compiler error when using IEnumerable.Sum
Summary: wrong compiler error when using IEnumerable.Sum
Alias: None
Product: Compilers
Classification: Mono
Component: C# (show other bugs)
Version: 4.4.0 (C7)
Hardware: PC Linux
: --- normal
Target Milestone: ---
Assignee: Marek Safar
Depends on:
Reported: 2016-07-16 11:59 UTC by ahmad13932013
Modified: 2016-07-29 13:31 UTC (History)
1 user (show)

See Also:
Is this bug a regression?: ---
Last known good build:

the program causing faulty compiler error (360 bytes, text/x-csharp)
2016-07-16 11:59 UTC, ahmad13932013

Description ahmad13932013 2016-07-16 11:59:43 UTC
Created attachment 16696 [details]
the program causing faulty compiler error

I have this code 
    int? sum = Enumerable.Range(0, 1000).Sum<int>((int i) =>
                  if (((i % 3) == 0) && ((i % 5) == 0))
                      return i;
                  return null;
The expected output : to compile fine(with warnings perhaps)

The actual output : compiler error : error CS0266: Cannot implicitly convert type `decimal?' to `int?'. An explicit conversion exists (are you missing a cast?) (CS0266) (test)

My distro is Arch linux and I have mono 4.4.1 specifically .
Comment 1 Marek Safar 2016-07-29 13:31:47 UTC
Fixed in master and Mono 4.6

Note You need to log in before you can comment on or make changes to this bug.