Skip to content

Commit f5afa30

Browse files
committed
Revert " Add a compiler warning for lower case literals in patterns"
This reverts commit 8b219f2.
1 parent f70d385 commit f5afa30

File tree

7 files changed

+4
-49
lines changed

7 files changed

+4
-49
lines changed

src/fsharp/FSComp.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1344,4 +1344,3 @@ estApplyStaticArgumentsForMethodNotImplemented,"A type provider implemented GetS
13441344
3187,checkNotSufficientlyGenericBecauseOfScope,"Type inference caused the type variable %s to escape its scope. Consider adding an explicit type parameter declaration or adjusting your code to be less generic."
13451345
3188,checkNotSufficientlyGenericBecauseOfScopeAnon,"Type inference caused an inference type variable to escape its scope. Consider adding type annotations to make your code less generic."
13461346
3189,checkRaiseFamilyFunctionArgumentCount,"Redundant arguments are being ignored in function '%s'. Expected %d but got %d arguments."
1347-
3190,checkLowercaseLiteralBindingInPattern,"Lowercase literal '%s' is being shadowed by a new pattern with the same name. Only uppercase and module-prefixed literals can be used as named patterns."

src/fsharp/NameResolution.fs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -606,10 +606,7 @@ let private AddPartsOfTyconRefToNameEnv bulkAddMode ownDefinition (g:TcGlobals)
606606
ePatItems = ePatItems
607607
eIndexedExtensionMembers = eIndexedExtensionMembers
608608
eUnindexedExtensionMembers = eUnindexedExtensionMembers }
609-
610-
let TryFindPatternByName name {ePatItems = patternMap} =
611-
NameMap.tryFind name patternMap
612-
609+
613610
/// Add a set of type definitions to the name resolution environment
614611
let AddTyconRefsToNameEnv bulkAddMode ownDefinition g amap m root nenv tcrefs =
615612
let env = List.fold (AddPartsOfTyconRefToNameEnv bulkAddMode ownDefinition g amap m) nenv tcrefs

src/fsharp/NameResolution.fsi

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,6 @@ type FullyQualifiedFlag =
101101
[<RequireQualifiedAccess>]
102102
type BulkAdd = Yes | No
103103

104-
/// Lookup patterns in name resolution environment
105-
val internal TryFindPatternByName : string -> NameResolutionEnv -> Item option
106-
107104
/// Add extra items to the environment for Visual Studio, e.g. static members
108105
val internal AddFakeNamedValRefToNameEnv : string -> NameResolutionEnv -> ValRef -> NameResolutionEnv
109106

src/fsharp/TypeChecker.fs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4691,7 +4691,7 @@ and TcSimplePatsOfUnknownType cenv optArgsOK checkCxs env tpenv spats =
46914691
let argty = NewInferenceType ()
46924692
TcSimplePats cenv optArgsOK checkCxs argty env (tpenv,NameMap.empty,Set.empty) spats
46934693

4694-
and TcPatBindingName _cenv env id ty isMemberThis vis1 topValData (inlineFlag,declaredTypars,argAttribs,isMutable,vis2,compgen) (names,takenNames:Set<string>) =
4694+
and TcPatBindingName _cenv _env id ty isMemberThis vis1 topValData (inlineFlag,declaredTypars,argAttribs,isMutable,vis2,compgen) (names,takenNames:Set<string>) =
46954695
let vis = if isSome vis1 then vis1 else vis2
46964696
if takenNames.Contains id.idText then errorR (VarBoundTwice id)
46974697
let baseOrThis = if isMemberThis then MemberThisVal else NormalVal
@@ -4700,14 +4700,7 @@ and TcPatBindingName _cenv env id ty isMemberThis vis1 topValData (inlineFlag,de
47004700
(fun (TcPatPhase2Input values) ->
47014701
let (vspec,typeScheme) =
47024702
match values.TryFind id.idText with
4703-
| Some value ->
4704-
let name = id.idText
4705-
if not (String.IsNullOrEmpty name) && Char.IsLower(name.[0]) then
4706-
match TryFindPatternByName name env.eNameResEnv with
4707-
| Some (Item.Value vref) when vref.LiteralValue.IsSome ->
4708-
warning(Error(FSComp.SR.checkLowercaseLiteralBindingInPattern(id.idText),id.idRange))
4709-
| Some _ | None -> ()
4710-
value
4703+
| Some x -> x
47114704
| None -> error(Error(FSComp.SR.tcNameNotBoundInPattern(id.idText),id.idRange))
47124705
PBind(vspec,typeScheme)),
47134706
names,takenNames

tests/fsharpqa/Source/Diagnostics/General/W_LowercaseLiteralIgnored.fs

Lines changed: 0 additions & 13 deletions
This file was deleted.

tests/fsharpqa/Source/Diagnostics/General/W_LowercaseLiteralNotIgnored.fs

Lines changed: 0 additions & 15 deletions
This file was deleted.

tests/fsharpqa/Source/Diagnostics/General/env.lst

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,4 @@ ReqPP SOURCE=W_WebExtensionsNotInPowerPack01.fs SCFLAGS="--test:ErrorRanges -r:F
125125
SOURCE=W_RaiseRedundantArgs.fs SCFLAGS="--test:ErrorRanges -a" # W_RaiseRedundantArgs.fs
126126
SOURCE=W_InvalidArgRedundantArgs.fs SCFLAGS="--test:ErrorRanges -a" # W_InvalidArgRedundantArgs.fs
127127
SOURCE=W_NullArgRedundantArgs.fs SCFLAGS="--test:ErrorRanges -a" # W_NullArgRedundantArgs.fs
128-
SOURCE=W_InvalidOpRedundantArgs.fs SCFLAGS="--test:ErrorRanges -a" # W_InvalidOpRedundantArgs.fs
129-
130-
SOURCE=W_LowercaseLiteralIgnored.fs SCFLAGS="--test:ErrorRanges" # W_LowercaseLiteralIgnored.fs
131-
SOURCE=W_LowercaseLiteralNotIgnored.fs SCFLAGS="--test:ErrorRanges" # W_LowercaseLiteralNotIgnored.fs
128+
SOURCE=W_InvalidOpRedundantArgs.fs SCFLAGS="--test:ErrorRanges -a" # W_InvalidOpRedundantArgs.fs

0 commit comments

Comments
 (0)