[Mono-bugs] [Bug 568955] System.InvalidOperationException: List has changed. from gmcs while compiling.

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Apr 20 19:28:36 EDT 2010


http://bugzilla.novell.com/show_bug.cgi?id=568955

http://bugzilla.novell.com/show_bug.cgi?id=568955#c7


--- Comment #7 from Pablo Ruiz <pruiz at netway.org> 2010-04-20 23:28:35 UTC ---
I'm trying to find the point in svn at which things started to fail.. at
r105893 the problem it's still reproducible, but the error is somewhat
different:

Example code and compiler output:

---------------
using System;
using System.Linq;
using System.Linq.Expressions;
using System.Diagnostics;

namespace Test
{
        public class Specification
        {
                public Expression<Func<int, bool>> expression;

                public Specification(Expression<Func<int, bool>> predicate)
                {
                        this.expression = predicate;
                }
        }

        public class IntSpec : Specification
        {
                public IntSpec(int id)
                        : base(x => x == id)
                {
                }
        }

        public class Program
        {
                static void Main()
                {
                        var obj = 1;

                        var s1 = new IntSpec(1);
                        var s2 = new IntSpec(2);

                        var fn1 = s1.expression.Compile();
                        var fn2 = s2.expression.Compile();

                        Debug.Assert(fn1.Invoke(obj) == true);
                        Debug.Assert(fn2.Invoke(obj) == false);
                }
        }
}

[root at Marge tmp]# mono /usr/src/mono.svn/mcs/mcs/gmcs.exe /target:exe -debug+
/d:DEBUG /out:n.exe p5.cs && mono --debug n.exe
p5.cs(21,27): error CS1502: The best overloaded method match for
`Test.Specification.Specification(System.Linq.Expressions.Expression<System.Func<int,bool>>)'
has some invalid arguments
p5.cs(12,24): (Location of the symbol related to previous error)
p5.cs(21,27): error CS1503: Argument 1: Cannot convert type `lambda expression'
to `System.Linq.Expressions.Expression<System.Func<int,bool>>'
Compilation failed: 2 error(s), 0 warnings

---------------

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list