a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
40 lines
619 B
C#
40 lines
619 B
C#
//
|
|
// Do not extend this test
|
|
//
|
|
// This test copes with the case where a parameter was already captured
|
|
// and a second anonymous method on the same scope captured a parameter
|
|
//
|
|
using System;
|
|
|
|
delegate void Del (int n);
|
|
|
|
class Lambda {
|
|
|
|
static int v;
|
|
|
|
static void f (int va)
|
|
{
|
|
v = va;
|
|
}
|
|
|
|
static Del[] Make2 (int x) {
|
|
return new Del[] {
|
|
delegate (int a) { f(x += a); },
|
|
delegate (int b) { f(x += b); }
|
|
};
|
|
}
|
|
|
|
public static int Main () {
|
|
Del[] d = Make2(10);
|
|
d[0](10);
|
|
if (v != 20)
|
|
return 1;
|
|
|
|
d[1](11);
|
|
if (v != 31)
|
|
return 2;
|
|
Console.WriteLine ("OK");
|
|
return 0;
|
|
}
|
|
}
|