// Compiler options: -langversion:future delegate int Foo (T t); public class Test { static int Main () { string message = "Hello World!"; Foo foo = (o) => o.GetHashCode (); if (Bar (foo, message) != message.GetHashCode ()) return 1; return 0; } static int Bar (Foo foo, string s) { return foo(s); } }