@@ -1467,6 +1467,8 @@ type TypeCheckInfo
14671467// 'seq' in 'seq { ... }' gets colored as keywords
14681468| CNR(_, ( Item.Value vref), ItemOccurence.Use, _, _, _, m) when valRefEq g g.seq_ vref vref->
14691469 Some( m, SemanticClassificationType.ComputationExpression)
1470+ | CNR(_, ( Item.Value vref), _, _, _, _, m) when vref.IsMutable|| Tastops.isRefCellTy g vref.Type->
1471+ Some( m, SemanticClassificationType.MutableVar)
14701472| CNR(_, Item.Value KeywordIntrinsicValue, ItemOccurence.Use, _, _, _, m) ->
14711473 Some( m, SemanticClassificationType.IntrinsicFunction)
14721474| CNR(_, ( Item.Value vref), _, _, _, _, m) when isFunction g vref.Type->
@@ -1475,18 +1477,6 @@ type TypeCheckInfo
14751477elif not ( IsOperatorName vref.DisplayName) then
14761478 Some( m, SemanticClassificationType.Function)
14771479else None
1478- | CNR(_, ( Item.Value vref), _, _, _, _, m) when vref.IsMutable->
1479- Some( m, SemanticClassificationType.MutableVar)
1480- // todo here we should check if a `vref` is of type `ref`1`
1481- // (the commented code does not work)
1482-
1483- //| CNR(_, (Item.Value vref), _, _, _, _, m) ->
1484- // match vref.TauType with
1485- // | TType.TType_app(tref, _) -> // g.refcell_tcr_canon.t _refcell_tcr_canon canon.Deref.type vref ->
1486- // if g.refcell_tcr_canon.Deref.Stamp = tref.Deref.Stamp then
1487- // Some (m, SemanticClassificationType.MutableVar)
1488- // else None
1489- // | _ -> None
14901480| CNR(_, Item.RecdField rfinfo, _, _, _, _, m) when rfinfo.RecdField.IsMutable&& rfinfo.LiteralValue.IsNone->
14911481 Some( m, SemanticClassificationType.MutableVar)
14921482| CNR(_, Item.MethodGroup(_, _, _), _, _, _, _, m) ->