6992685b86
Former-commit-id: 0a113cb3a6feb7873f632839b1307cc6033cd595
66 lines
860 B
C#
66 lines
860 B
C#
// Compiler options: -unsafe
|
|
|
|
// Cloning tests
|
|
|
|
using System;
|
|
|
|
unsafe class UnsafeClass
|
|
{
|
|
public int* GetUnsafeValue ()
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public class C
|
|
{
|
|
delegate void D ();
|
|
|
|
static void Test (D d)
|
|
{
|
|
}
|
|
|
|
unsafe static void UnsafeTests ()
|
|
{
|
|
UnsafeClass v = new UnsafeClass ();
|
|
Test (delegate () {
|
|
int i = *v.GetUnsafeValue ();
|
|
});
|
|
|
|
Test (delegate () {
|
|
byte* buffer = stackalloc byte[8192];
|
|
});
|
|
}
|
|
|
|
public static void Main ()
|
|
{
|
|
Exception diffException;
|
|
|
|
Test (delegate () {
|
|
diffException = null;
|
|
try {
|
|
} catch (Exception ex) {
|
|
diffException = ex;
|
|
} finally {
|
|
}
|
|
|
|
try {
|
|
} catch {
|
|
}
|
|
});
|
|
|
|
int[] i_a = new int [] { 1,2,3 };
|
|
|
|
Test (delegate () {
|
|
foreach (int t in i_a) {
|
|
}
|
|
});
|
|
|
|
Test (delegate () {
|
|
Console.WriteLine (typeof (void));
|
|
});
|
|
|
|
}
|
|
}
|
|
|