@@ -3232,9 +3232,9 @@ let IsTyconUnseenObsoleteSpec ad g amap m (x:TyconRef) allowObsolete =
32323232let IsTyconUnseen ad g amap m ( x : TyconRef ) = IsTyconUnseenObsoleteSpec ad g amap m xfalse
32333233
32343234let IsValUnseen ad g m ( v : ValRef ) =
3235- not ( IsValAccessible ad v) ||
32363235 v.IsCompilerGenerated||
32373236 v.Deref.IsClassConstructor||
3237+ not ( IsValAccessible ad v) ||
32383238 CheckFSharpAttributesForUnseen g v.Attribs m
32393239
32403240let IsUnionCaseUnseen ad g amap m ( ucref : UnionCaseRef ) =
@@ -4240,10 +4240,12 @@ let rec private GetCompletionForItem (ncenv: NameResolver) (nenv: NameResolution
42404240| [] ->
42414241
42424242/// Include all the entries in the eUnqualifiedItems table.
4243- yield !
4244- nenv.eUnqualifiedItems.Values
4245- |> List.filter( function Item.UnqualifiedType_ -> false | _ -> true )
4246- |> List.filter( ItemIsUnseen ad g ncenv.amap m>> not )
4243+ for uitemin nenv.eUnqualifiedItems.Valuesdo
4244+ match uitemwith
4245+ | Item.UnqualifiedType_ -> ()
4246+ | _ when not ( ItemIsUnseen ad g ncenv.amap m uitem) ->
4247+ yield uitem
4248+ | _ -> ()
42474249
42484250match itemwith
42494251| Item.ModuleOrNamespaces_ ->
@@ -4267,10 +4269,11 @@ let rec private GetCompletionForItem (ncenv: NameResolver) (nenv: NameResolution
42674269then yield ItemOfTyconRef ncenv m tcref
42684270
42694271| Item.ActivePatternCase_ ->
4270- yield !
4271- nenv.ePatItems
4272- |> NameMap.range
4273- |> List.filter( function Item.ActivePatternCase_ v-> true | _ -> false )
4272+ for pitemin NameMap.range nenv.ePatItemsdo
4273+ match pitemwith
4274+ | Item.ActivePatternCase_ ->
4275+ yield pitem
4276+ | _ -> ()
42744277
42754278| Item.DelegateCtor_
42764279| Item.FakeInterfaceCtor_