Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5c801cb

Browse files
forkiKevinRansom
authored andcommitted
Check constant first (#3145)
1 parent7f094ba commit5c801cb

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

‎src/fsharp/ConstraintSolver.fs‎

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -221,19 +221,19 @@ let rec occursCheck g un ty =
221221
// Predicates on types
222222
//-------------------------------------------------------------------------
223223

224-
let recisNativeIntegerTyg ty=
224+
let recisNativeIntegerTy g ty=
225225
typeEquivAux EraseMeasures g g.nativeint_ty ty||
226226
typeEquivAux EraseMeasures g g.unativeint_ty ty||
227227
(isEnumTy g ty&& isNativeIntegerTy g(underlyingTypeOfEnumTy g ty))
228228

229-
letisSignedIntegerTyg ty=
229+
letisSignedIntegerTy g ty=
230230
typeEquivAux EraseMeasures g g.sbyte_ty ty||
231231
typeEquivAux EraseMeasures g g.int16_ty ty||
232232
typeEquivAux EraseMeasures g g.int32_ty ty||
233233
typeEquivAux EraseMeasures g g.nativeint_ty ty||
234234
typeEquivAux EraseMeasures g g.int64_ty ty
235235

236-
letisUnsignedIntegerTyg ty=
236+
letisUnsignedIntegerTy g ty=
237237
typeEquivAux EraseMeasures g g.byte_ty ty||
238238
typeEquivAux EraseMeasures g g.uint16_ty ty||
239239
typeEquivAux EraseMeasures g g.uint32_ty ty||
@@ -767,10 +767,10 @@ and SolveTypEqualsTyp (csenv:ConstraintSolverEnv) ndeep m2 (trace: OptionalTrace
767767

768768
match sty1, sty2with
769769
// type vars inside forall-types may be alpha-equivalent
770-
| TType_var tp1, TType_var tp2whentyparEq tp1 tp2||(aenv.EquivTypars.ContainsKey tp1&& typeEquiv g aenv.EquivTypars.[tp1] ty2)-> CompleteD
770+
| TType_var tp1, TType_var tp2when typarEq tp1 tp2||(aenv.EquivTypars.ContainsKey tp1&& typeEquiv g aenv.EquivTypars.[tp1] ty2)-> CompleteD
771771

772772
| TType_var tp1, TType_var tp2when PreferUnifyTypar tp1 tp2-> SolveTyparEqualsTyp csenv ndeep m2 trace sty1 ty2
773-
| TType_var tp1, TType_var tp2whenPreferUnifyTypar tp2 tp1&&not csenv.MatchingOnly-> SolveTyparEqualsTyp csenv ndeep m2 trace sty2 ty1
773+
| TType_var tp1, TType_var tp2whennot csenv.MatchingOnly&&PreferUnifyTypar tp2 tp1-> SolveTyparEqualsTyp csenv ndeep m2 trace sty2 ty1
774774

775775
| TType_var r,_when(r.Rigidity<> TyparRigidity.Rigid)-> SolveTyparEqualsTyp csenv ndeep m2 trace sty1 ty2
776776
|_, TType_var rwhen(r.Rigidity<> TyparRigidity.Rigid)&&not csenv.MatchingOnly-> SolveTyparEqualsTyp csenv ndeep m2 trace sty2 ty1
@@ -1831,7 +1831,7 @@ and SolveTypRequiresDefaultConstructor (csenv:ConstraintSolverEnv) ndeep m2 trac
18311831
CompleteD
18321832
else
18331833
if GetIntrinsicConstructorInfosOfType csenv.InfoReader m ty
1834-
|> List.exists(fun x-> IsMethInfoAccessible amap m AccessibleFromEverywhere x&& x.IsNullary)
1834+
|> List.exists(fun x->x.IsNullary&&IsMethInfoAccessible amap m AccessibleFromEverywhere x)
18351835
then
18361836
match tryDestAppTy g tywith
18371837
| Some tcrefwhen HasFSharpAttribute g g.attrib_AbstractClassAttribute tcref.Attribs->
@@ -1982,8 +1982,7 @@ and ArgsMustSubsumeOrConvert
19821982
letcalledArgTy= AdjustCalledArgType csenv.InfoReader isConstraint calledArg callerArg
19831983
SolveTypSubsumesTypWithReport csenv ndeep m trace cxsln calledArgTy callerArg.Type++(fun()->
19841984

1985-
if calledArg.IsParamArray&& isArray1DTy g calledArgTy&&not(isArray1DTy g callerArg.Type)
1986-
then
1985+
if calledArg.IsParamArray&& isArray1DTy g calledArgTy&&not(isArray1DTy g callerArg.Type)then
19871986
ErrorD(Error(FSComp.SR.csMethodExpectsParams(),m))
19881987
else
19891988
CompleteD)
@@ -2655,7 +2654,7 @@ let CodegenWitnessThatTypSupportsTraitConstraint tcVal g amap m (traitInfo:Trait
26552654
|true,false,2->
26562655
// If we resolve to an instance field on a struct and we haven't yet taken
26572656
// the address of the object then go do that
2658-
if rfref.Tycon.IsStructOrEnumTycon&&not(isByrefTy g(tyOfExpr g argExprs.[0]))then
2657+
if rfref.Tycon.IsStructOrEnumTycon&&not(isByrefTy g(tyOfExpr g argExprs.[0]))then
26592658
leth= List.head argExprs
26602659
letwrap,h'= mkExprAddrOfExpr gtruefalse DefinitelyMutates h None m
26612660
Some(wrap(mkRecdFieldSetViaExprAddr(h', rfref, tinst, argExprs.[1], m)))
@@ -2664,7 +2663,7 @@ let CodegenWitnessThatTypSupportsTraitConstraint tcVal g amap m (traitInfo:Trait
26642663
|false,true,0->
26652664
Some(mkStaticRecdFieldGet(rfref, tinst, m))
26662665
|false,false,1->
2667-
if rfref.Tycon.IsStructOrEnumTycon&& isByrefTy g(tyOfExpr g argExprs.[0])then
2666+
if rfref.Tycon.IsStructOrEnumTycon&& isByrefTy g(tyOfExpr g argExprs.[0])then
26682667
Some(mkRecdFieldGetViaExprAddr(argExprs.[0], rfref, tinst, m))
26692668
else
26702669
Some(mkRecdFieldGet g(argExprs.[0], rfref, tinst, m))

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp