You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 23, 2024. It is now read-only.
public string SetPublicGetProtectedInternal { protected internal get; set; }
30
23
public string SetPublicGetPrivate { private get; set; }
31
24
}
32
-
}
33
-
"""
25
+
}"""
34
26
35
27
letfsharpBaseClass="""
36
28
namespace ExhaustiveCombinations
37
29
38
30
open System
39
31
40
32
type FSharpBaseClass () =
41
-
42
33
member this.GetPublicSetInternal with public get() = "" and internal set (parameter:string) = ignore parameter
43
34
member this.GetPublicSetPrivate with public get() = "" and private set (parameter:string) = ignore parameter
44
35
member this.SetPublicGetInternal with internal get() = "" and public set (parameter:string) = ignore parameter
45
-
member this.SetPublicGetPrivate with private get() = "" and public set (parameter:string) = ignore parameter
46
-
47
-
"""
36
+
member this.SetPublicGetPrivate with private get() = "" and public set (parameter:string) = ignore parameter"""
48
37
38
+
[<Fact>]
39
+
let``C# class F# derived class -access public`` ()=
49
40
50
-
[<Test>][<Ignore("TODO: This is broken RN, since netcoreapp30 is used for C# and 3.1 for F#, should be fixed as part of https://github.com/dotnet/fsharp/issues/9740")>]
51
-
let``VerifyVisibility of Properties C# class F# derived class --AccessPublicStuff`` ()=
"The member or object constructor 'GetPublicSetInternal' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.");
90
-
(FSharpErrorSeverity.Error,491,(25,9,25,49),
91
-
"The member or object constructor 'GetPublicSetPrivateProtected' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.");
92
-
(FSharpErrorSeverity.Error,491,(34,9,34,40),
93
-
"The member or object constructor 'GetPublicSetPrivate' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")|])
94
-
95
-
[<Test>][<Ignore("TODO: This is broken RN, since netcoreapp30 is used for C# and 3.1 for F#, should be fixed as part of https://github.com/dotnet/fsharp/issues/9740")>]
96
-
let``VerifyVisibility of Properties C# class F# non-derived class --AccessPublicStuff`` ()=
69
+
Fsx fsharpSource
70
+
|> withLangVersion50
71
+
|> withReferences [csharpLib]
72
+
|> compile
73
+
|> shouldFail
74
+
|> withDiagnostics [
75
+
(Error 491, Line 19, Col 9, Line 19, Col 41,
76
+
"The member or object constructor 'GetPublicSetInternal' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")
77
+
(Error 491, Line 22, Col 9, Line 22, Col 49,
78
+
"The member or object constructor 'GetPublicSetPrivateProtected' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")
79
+
(Error 491, Line 31, Col 9, Line 31, Col 40,
80
+
"The member or object constructor 'GetPublicSetPrivate' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")]
81
+
82
+
[<Fact>]
83
+
let``C# class F# non-derived class -access public`` ()=
"The member or object constructor 'GetPublicSetInternal' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.");
135
-
(FSharpErrorSeverity.Error,491,(25,9,25,47),
136
-
"The member or object constructor 'GetPublicSetPrivateProtected' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.");
137
-
(FSharpErrorSeverity.Error,491,(28,9,28,48),
138
-
"The member or object constructor 'GetPublicSetProtectedInternal' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.");
139
-
(FSharpErrorSeverity.Error,491,(31,9,31,40),
140
-
"The member or object constructor 'GetPublicSetProtected' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.");
141
-
(FSharpErrorSeverity.Error,491,(32,17,32,41),
114
+
Fsx fsharpSource
115
+
|> withLangVersion50
116
+
|> withReferences [csharpLib]
117
+
|> compile
118
+
|> shouldFail
119
+
|> withDiagnostics [
120
+
(Error 491, Line 19, Col 9, Line 19, Col 39,
121
+
"The member or object constructor 'GetPublicSetInternal' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")
122
+
(Error 491, Line 22, Col 9, Line 22, Col 47,
123
+
"The member or object constructor 'GetPublicSetPrivateProtected' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")
124
+
(Error 491, Line 25, Col 9, Line 25, Col 48,
125
+
"The member or object constructor 'GetPublicSetProtectedInternal' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")
126
+
(Error 491, Line 28, Col 9, Line 28, Col 40,
127
+
"The member or object constructor 'GetPublicSetProtected' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")
128
+
(Error 491, Line 29, Col 17, Line 29, Col 41,
142
129
"The member or object constructor 'SetPublicGetProtected' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.");
143
-
(FSharpErrorSeverity.Error,491,(34,9,34,38),
144
-
"The member or object constructor 'GetPublicSetPrivate' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")|])
130
+
(Error 491,Line 31, Col 9,Line 31, Col 38,
131
+
"The member or object constructor 'GetPublicSetPrivate' is not accessible. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions.")]
145
132
133
+
[<Fact>]
134
+
let``F# base F# derived class -access public`` ()=
146
135
147
-
[<Test>]
148
-
let``VerifyVisibility of Properties F# base F# derived class --AccessPublicStuff`` ()=
0 commit comments