Please do not reply to this email- if you want to comment on the bug, go to the URL shown below and enter your comments there.
Changed by [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=76849 --- shadow/76849 2005-12-01 07:56:17.000000000 -0500 +++ shadow/76849.tmp.17816 2005-12-01 10:52:02.000000000 -0500 @@ -1,13 +1,13 @@ Bug#: 76849 Product: Mono: Compilers Version: 1.1 OS: other OS Details: -Status: RESOLVED -Resolution: FIXED +Status: REOPENED +Resolution: Severity: Unknown Priority: Wishlist Component: C# AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] QAContact: [EMAIL PROTECTED] @@ -101,6 +101,91 @@ } } ------- Additional Comments From [EMAIL PROTECTED] 2005-12-01 07:56 ------- Fixed in SVN. + +------- Additional Comments From [EMAIL PROTECTED] 2005-12-01 10:52 ------- +We're getting closer. One remaining issue that I can see: use of +constants within an Obsolete class in a DllImport statement should be +permissible, e.g. + + class Stdlib { + internal const string LIBC = "msvcrt.dll"; + [DllImport (LIBC)] + public static extern IntPtr fopen (string s, string m); + } + +Here's a more complete example which works on CSC and fails with mcs: + + using System; + using System.Runtime.InteropServices; + + [Obsolete ("Use Errno", true)] + public enum Error { + EROFS, + ERANGE + } + + [Obsolete ("Use Native.FilePosition", true)] + public class FilePosition {} + + public class StdioFileStream { + [Obsolete ("", true)] + public void SaveFilePosition (FilePosition fpos) + { + } + } + + [Obsolete ("Use Native.Dirent", true)] + public sealed class Dirent { + public string d_name; + } + + [Obsolete ("Use Native.Stdlib", true)] + public class Stdlib { + internal const string LIBC = "msvcrt.dll"; + [DllImport (LIBC)] + public static extern IntPtr signal (int signum, IntPtr handler); + } + + [Obsolete ("Use Native.Syscall", true)] + public class Syscall : Stdlib { + public static Dirent readdir (IntPtr dir) + { + return new Dirent (); + } + } + + public class NativeConvert { + [DllImport ("foo")] + [Obsolete ("", true)] + private static extern int FromError (Error value, out Int32 rval); + } + + public sealed class UnixMarshal { + [Obsolete ("Use Errno", true)] + public static string GetDescription (Error e) + { + return null; + } + } + + public sealed class UnixDirectoryInfo { + [Obsolete ("Use GetEntriesEx", true)] + public static Dirent[] GetEntries () + { + Dirent[] dirs = new Dirent[]{ + Syscall.readdir (IntPtr.Zero) + }; + return dirs; + } + } + + class Test { + public static void Main () + { + } + } + + _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
