--- /dev/null
+// CS0182: An attribute argument must be a constant expression, typeof expression or array creation expression
+// Line: 13
+
+using System;
+
+class AAttribute : Attribute
+{
+ public AAttribute (dynamic X)
+ {
+ }
+}
+
+[A (Test.B)]
+class Test
+{
+ public static dynamic B;
+
+ static void Main ()
+ {
+ }
+}
-// CS0206: A property or indexer may not be passed as an out or ref parameter
+// CS0206: A property, indexer or dynamic member access may not be passed as `ref' or `out' parameter
// Line: 22
using System;
-// CS0206: A property or indexer `X.P' may not be passed as `ref' or `out' parameter
+// CS0206: A property, indexer or dynamic member access may not be passed as `ref' or `out' parameter
// Line: 15
class X {
--- /dev/null
+// CS1763: The expression being assigned to optional parameter `c' must be a constant or default value
+// Line: 10
+
+struct S
+{
+}
+
+class C
+{
+ public static void Test (C c = new S ())
+ {
+ }
+}
-// CS1750: Optional parameter value `a' cannot be converted to parameter type `int'
+// CS1750: Optional parameter expression of type `string' cannot be converted to parameter type `int'
// Line: 6
-// Compiler options: -langversion:future
public class C
{
+++ /dev/null
-// CS1763: Optional parameter `c' of type `C' can only be initialized with `null'
-// Line: 10
-// Compiler options: -langversion:future
-
-struct S
-{
-}
-
-class C
-{
- public static void Test (C c = new S ())
- {
- }
-}
--- /dev/null
+// CS1975: The constructor call cannot be dynamically dispatched within constructor initializer
+// Line: 14
+
+public class A
+{
+ public A (dynamic arg)
+ {
+ }
+}
+
+public class B : A
+{
+ public B (dynamic arg)
+ : base (arg)
+ {
+ }
+}
--- /dev/null
+// CS1963: An expression tree cannot contain a dynamic operation
+// Line: 12
+
+using System;
+using System.Linq.Expressions;
+
+class C
+{
+ public static void Main ()
+ {
+ dynamic d = 1;
+ Expression<Func<int>> e = () => d + 1;
+ }
+}
--- /dev/null
+// CS1976: The method group `Main' cannot be used as an argument of dynamic operation. Consider using parentheses to invoke the method
+// Line: 9
+
+class C
+{
+ public static void Main ()
+ {
+ dynamic d = null;
+ d (Main);
+ }
+}
--- /dev/null
+// CS1977: An anonymous method or lambda expression cannot be used as an argument of dynamic operation without a cast
+// Line: 9
+
+class C
+{
+ public static void Main ()
+ {
+ dynamic d = null;
+ d (delegate {});
+ }
+}
--- /dev/null
+// CS1978: An expression of type `void' cannot be used as an argument of dynamic operation
+// Line: 9
+
+class C
+{
+ public static void Main ()
+ {
+ dynamic d = null;
+ d (Main ());
+ }
+}
--- /dev/null
+// CS1978: An expression of type `int*' cannot be used as an argument of dynamic operation
+// Line: 9
+// Compiler options: -unsafe
+
+unsafe class C
+{
+ public static void Main ()
+ {
+ dynamic d = null;
+ d ((int*)0);
+ }
+}
--- /dev/null
+// CS1978: An expression of type `__arglist' cannot be used as an argument of dynamic operation
+// Line: 9
+
+class C
+{
+ public static void Main ()
+ {
+ dynamic d = null;
+ d (__arglist (111));
+ }
+}
-// CS0206: A property or indexer `anonymous type.Foo' may not be passed as `ref' or `out' parameter
+// CS0206: A property, indexer or dynamic member access may not be passed as `ref' or `out' parameter
// Line: 14
-
class C
{
static void Foo (ref object o)
--- /dev/null
+// CS1067: Partial declarations of `I<T>' must have the same type parameter variance modifiers
+// Line: 8
+
+partial interface I<in T>
+{
+}
+
+partial interface I<out T>
+{
+}
--- /dev/null
+// CS1750: Optional parameter expression of type `decimal' cannot be converted to parameter type `int?'
+// Line: 6
+
+public class TS
+{
+ public static void Test (int? i = 1m)
+ {
+ }
+}
--- /dev/null
+// CS1770: The expression being assigned to nullable optional parameter `d' must be default value
+// Line: 8
+
+using System;
+
+class C
+{
+ public static void Foo (DateTime? d = new DateTime ())
+ {
+ }
+}