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

Commita0d43bd

Browse files
committed
Cleanup
1 parent4cd6ef9 commita0d43bd

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

‎src/fsharp/ConstraintSolver.fs‎

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -483,12 +483,12 @@ let SubstMeasureWarnIfRigid (csenv:ConstraintSolverEnv) trace (v:Typar) ms =
483483
// NOTE: we grab the name eagerly to make sure the type variable prints as a type variable
484484
lettpnmOpt=if v.IsCompilerGeneratedthen Noneelse Some v.Name
485485
SolveTypStaticReq csenv trace v.StaticReq(TType_measure ms)++(fun()->
486-
SubstMeasure v ms;
486+
SubstMeasure v ms
487487
WarnD(NonRigidTypar(csenv.DisplayEnv,tpnmOpt,v.Range,TType_measure(Measure.Var v), TType_measure ms,csenv.m)))
488488
else
489489
// Propagate static requirements from 'tp' to 'ty'
490490
SolveTypStaticReq csenv trace v.StaticReq(TType_measure ms)++(fun()->
491-
SubstMeasure v ms;
491+
SubstMeasure v ms
492492
if v.Rigidity= TyparRigidity.Anon&& measureEquiv csenv.g ms Measure.Onethen
493493
WarnD(Error(FSComp.SR.csCodeLessGeneric(),v.Range))
494494
else CompleteD)
@@ -501,7 +501,9 @@ let SubstMeasureWarnIfRigid (csenv:ConstraintSolverEnv) trace (v:Typar) ms =
501501
/// the most general unifier is then simply v := ms' ^ -(1/e)
502502
letUnifyMeasureWithOne(csenv:ConstraintSolverEnv)trace ms=
503503
// Gather the rigid and non-rigid unit variables in this measure expression together with their exponents
504-
let(rigidVars,nonRigidVars)=(ListMeasureVarOccsWithNonZeroExponents ms)|> List.partition(fun(v,_)-> v.Rigidity= TyparRigidity.Rigid)
504+
letrigidVars,nonRigidVars=
505+
ListMeasureVarOccsWithNonZeroExponents ms
506+
|> List.partition(fun(v,_)-> v.Rigidity= TyparRigidity.Rigid)
505507

506508
// If there is at least one non-rigid variable v with exponent e, then we can unify
507509
match FindPreferredTypar nonRigidVarswith
@@ -535,7 +537,7 @@ let SimplifyMeasure g vars ms =
535537
letnewvarExpr=if SignRational e<0then Measure.Inv(Measure.Var newvar)else Measure.Var newvar
536538
letnewms=(ProdMeasures(List.map(fun(c,e')-> Measure.RationalPower(Measure.Con c, NegRational(DivRational e' e)))(ListMeasureConOccsWithNonZeroExponents gfalse ms)
537539
@ List.map(fun(v',e')->if typarEq v v'then newvarExprelse Measure.RationalPower(Measure.Var v', NegRational(DivRational e' e)))(ListMeasureVarOccsWithNonZeroExponents ms)));
538-
SubstMeasure v newms;
540+
SubstMeasure v newms
539541
match vswith
540542
|[]->(remainingvars, Some newvar)
541543
|_-> simp(newvar::remainingvars)
@@ -554,7 +556,7 @@ let rec SimplifyMeasuresInType g resultFirst ((generalizable, generalized) as pa
554556
| TType_var_-> param
555557
| TType_forall(_,tau)-> SimplifyMeasuresInType g resultFirst param tau
556558
| TType_measure unt->
557-
let(generalizable',newlygeneralized)= SimplifyMeasure g generalizable unt
559+
letgeneralizable',newlygeneralized= SimplifyMeasure g generalizable unt
558560
match newlygeneralizedwith
559561
| None->(generalizable', generalized)
560562
| Some v->(generalizable', v::generalized)
@@ -568,7 +570,8 @@ and SimplifyMeasuresInTypes g param tys =
568570

569571
letSimplifyMeasuresInConstraint g param c=
570572
match cwith
571-
| TyparConstraint.DefaultsTo(_,ty,_)| TyparConstraint.CoercesTo(ty,_)-> SimplifyMeasuresInType gfalse param ty
573+
| TyparConstraint.DefaultsTo(_,ty,_)
574+
| TyparConstraint.CoercesTo(ty,_)-> SimplifyMeasuresInType gfalse param ty
572575
| TyparConstraint.SimpleChoice(tys,_)-> SimplifyMeasuresInTypes g param tys
573576
| TyparConstraint.IsDelegate(ty1,ty2,_)-> SimplifyMeasuresInTypes g param[ty1;ty2]
574577
|_-> param
@@ -695,7 +698,7 @@ let rec SolveTyparEqualsTyp (csenv:ConstraintSolverEnv) ndeep m2 (trace:Optional
695698
lettpdata= r.Data
696699
trace.Exec(fun()-> tpdata.typar_solution<- Some ty)(fun()-> tpdata.typar_solution<- None)
697700

698-
(* dprintf "setting typar %d to type %s at %a\n" r.Stamp ((DebugPrint.showType ty)) outputRange m;*)
701+
(* dprintf "setting typar %d to type %s at %a\n" r.Stamp ((DebugPrint.showType ty)) outputRange m;*)
699702

700703
// Only solve constraints if this is not an error var
701704
if r.IsFromErrorthen CompleteDelse
@@ -792,7 +795,7 @@ and SolveTypEqualsTyp (csenv:ConstraintSolverEnv) ndeep m2 (trace: OptionalTrace
792795
| TType_measure ms1,TType_measure ms2-> UnifyMeasures csenv trace ms1 ms2
793796
| TType_forall(tps1,rty1), TType_forall(tps2,rty2)->
794797
if tps1.Length<> tps2.Lengththen localAbortDelse
795-
letaenv= aenv.BindEquivTyparstps1 tps2
798+
letaenv= aenv.BindEquivTypars tps1 tps2
796799
letcsenv={csenvwith EquivEnv= aenv}
797800
ifnot(typarsAEquiv g aenv tps1 tps2)then localAbortDelse
798801
SolveTypEqualsTypKeepAbbrevs csenv ndeep m2 trace rty1 rty2
@@ -1420,7 +1423,8 @@ and GetFreeTyparsOfMemberConstraint (csenv:ConstraintSolverEnv) (TTrait(tys,_,_,
14201423
andSolveRelevantMemberConstraints(csenv:ConstraintSolverEnv)ndeep permitWeakResolution trace tps=
14211424
RepeatWhileD ndeep
14221425
(fun ndeep->
1423-
tps|> AtLeastOneD(fun tp->
1426+
tps
1427+
|> AtLeastOneD(fun tp->
14241428
/// Normalize the typar
14251429
letty= mkTyparTy tp
14261430
match tryAnyParTy csenv.g tywith
@@ -1438,7 +1442,8 @@ and SolveRelevantMemberConstraintsForTypar (csenv:ConstraintSolverEnv) ndeep per
14381442
trace.Exec(fun()-> cxs|> List.iter(fun _-> cxst.Remove tpn))(fun()-> cxs|> List.iter(fun cx-> cxst.Add(tpn,cx)))
14391443
assert(isNil(cxst.FindAll tpn))
14401444

1441-
cxs|> AtLeastOneD(fun(traitInfo,m2)->
1445+
cxs
1446+
|> AtLeastOneD(fun(traitInfo,m2)->
14421447
letcsenv={ csenvwith m= m2}
14431448
SolveMemberConstraint csenvtrue permitWeakResolution(ndeep+1) m2 trace traitInfo)
14441449

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp