https://bugzilla.novell.com/show_bug.cgi?id=663059

https://bugzilla.novell.com/show_bug.cgi?id=663059#c0


           Summary: Missing CS0507 when using InternalsVisibleTo
    Classification: Mono
           Product: Mono: Compilers
           Version: 2.8.x
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: C#
        AssignedTo: [email protected]
        ReportedBy: [email protected]
         QAContact: [email protected]
          Found By: ---
           Blocker: ---


Make two files:

Class1.cs
------------------------
using System.Runtime.CompilerServices;

[assembly: InternalsVisibleTo ("Class2")]

namespace ClassLibrary1
{
    public class Class1
    {
        protected internal virtual string GetString ()
        {
            return "Hello";
        }
    }
}

Class2.cs
-------------------------
namespace ClassLibrary1
{
    public sealed class Class2 : Class1
    {
        protected override string GetString ()
        {
            return "Hello2";
        }
    }
}


Compile:
- gmcs /target:library Class1.cs
- gmcs /target:library /r:Class1 Class2.cs

Expected Results:
csc provides:

Class3.cs(9,29): error CS0507: ClassLibrary1.Class3.GetString)': cannot change
access modifiers when overriding 'protected internal' inherited member
'ClassLibrary1.Class1.GetString()' 

Class1.dll: (Location of symbol related to previous error)

Actual Results:
gmcs compiles without error

This was found trying to compile Mono's System.Web using csc.

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to