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
CheckMemberFlagscenv.gNone NewSlotsOK OverridesOK memberFlags m
15266
+
CheckMemberFlags None NewSlotsOK OverridesOK memberFlags m
15267
15267
15268
15268
let slots = fst (TcAndPublishValSpec (cenv,envinner,containerInfo,ModuleOrMemberBinding,Some memberFlags,tpenv,valSpfn))
15269
15269
// Multiple slots may be returned, e.g. for
@@ -15685,22 +15685,22 @@ module TcDeclarations =
15685
15685
15686
15686
/// Given a type definition, compute whether its members form an extension of an existing type, and if so if it is an
15687
15687
/// intrinsic or extrinsic extension
15688
-
let private ComputeTyconDeclKind tyconOpt isAtOriginalTyconDefn cenv envForDecls inSig m (typars:SynTyparDecl list)cs longPath =
15688
+
let private ComputeTyconDeclKind tyconOpt isAtOriginalTyconDefn cenv envForDecls inSig m (synTypars:SynTyparDecl list)synTyparCxs longPath =
15689
15689
let ad = envForDecls.eAccessRights
15690
15690
15691
15691
let tcref =
15692
15692
match tyconOpt with
15693
15693
| Some tycon when isAtOriginalTyconDefn ->
15694
15694
15695
15695
// This records a name resolution of the type at the location
15696
-
let resInfo = TypeNameResolutionStaticArgsInfo.FromTyArgstypars.Length
15696
+
let resInfo = TypeNameResolutionStaticArgsInfo.FromTyArgssynTypars.Length
15697
15697
ResolveTypeLongIdent cenv.tcSink cenv.nameResolver ItemOccurence.Binding OpenQualified envForDecls.eNameResEnv ad longPath resInfo PermitDirectReferenceToGeneratedType.No
15698
15698
|> ignore
15699
15699
15700
15700
mkLocalTyconRef tycon
15701
15701
15702
15702
| _ ->
15703
-
let resInfo = TypeNameResolutionStaticArgsInfo.FromTyArgstypars.Length
15703
+
let resInfo = TypeNameResolutionStaticArgsInfo.FromTyArgssynTypars.Length
15704
15704
match ResolveTypeLongIdent cenv.tcSink cenv.nameResolver ItemOccurence.Binding OpenQualified envForDecls.eNameResEnv ad longPath resInfo PermitDirectReferenceToGeneratedType.No with
15705
15705
| Result res -> res
15706
15706
| res when inSig && longPath.Length = 1 ->
@@ -15732,20 +15732,26 @@ module TcDeclarations =
15732
15732
// There is a special case we allow when compiling FSharp.Core.dll which permits interface implementations across namespace fragments
Copy file name to clipboardExpand all lines: tests/fsharp/typecheck/sigs/neg97.bsl
+10Lines changed: 10 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -16,3 +16,13 @@ neg97.fs(25,9,25,10): typecheck error FS3207: Invalid use of 'fixed'. 'fixed' ma
16
16
neg97.fs(30,9,30,10): typecheck error FS0009: Uses of this construct may resultin the generation of unverifiable .NET IL code. This warning can be disabled using '--nowarn:9'or '#nowarn"9"'.
17
17
18
18
neg97.fs(30,9,30,10): typecheck error FS3207: Invalid use of 'fixed'. 'fixed' may only be usedin a declaration of the form 'use x= fixed expr' where the expression is an array, the address of a field, the address of an array elementor a string'
19
+
20
+
neg97.fs(36,20,36,32): typecheck error FS0698: Invalid constraint: the type usedfor the constraint is sealed, which means the constraint could only be satisfied by at most one solution
21
+
22
+
neg97.fs(36,20,36,32): typecheck error FS0064: This construct causes codeto be less generic than indicated by the type annotations. The type variable 'T has been constrainedto be type 'string'.
23
+
24
+
neg97.fs(36,12,36,14): typecheck error FS0663: This type parameter has been usedin a way that constrains itto always be 'string'
25
+
26
+
neg97.fs(42,20,42,22): typecheck error FS0039: The type parameter 'T isnot defined. Maybe you want one of the following: