Skip to content

Commit aa4fc7e

Browse files
authored
yeet (#9657)
yeet
1 parent 8421289 commit aa4fc7e

File tree

1 file changed

+0
-43
lines changed

1 file changed

+0
-43
lines changed

src/fsharp/PostInferenceChecks.fs

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -706,49 +706,6 @@ let compareTypesWithRegardToTypeVariablesAndMeasures g amap m typ1 typ2 =
706706
FeasiblyEqual
707707
else
708708
NotEqual
709-
710-
//let CheckMultipleInterfaceInstantiations cenv (typ:TType) (interfaces:TType list) isObjectExpression m =
711-
// let keyf ty = assert isAppTy cenv.g ty; (tcrefOfAppTy cenv.g ty).Stamp
712-
// if not(cenv.g.langVersion.SupportsFeature LanguageFeature.InterfacesWithMultipleGenericInstantiation) then
713-
// let table = interfaces |> MultiMap.initBy keyf
714-
// let firstInterfaceWithMultipleGenericInstantiations =
715-
// interfaces |> List.tryPick (fun typ1 ->
716-
// table |> MultiMap.find (keyf typ1) |> List.tryPick (fun typ2 ->
717-
// if // same nominal type
718-
// tyconRefEq cenv.g (tcrefOfAppTy cenv.g typ1) (tcrefOfAppTy cenv.g typ2) &&
719-
// // different instantiations
720-
// not (typeEquivAux EraseNone cenv.g typ1 typ2)
721-
// then Some (typ1, typ2)
722-
// else None))
723-
// match firstInterfaceWithMultipleGenericInstantiations with
724-
// | None -> ()
725-
// | Some (typ1, typ2) ->
726-
// let typ1Str = NicePrint.minimalStringOfType cenv.denv typ1
727-
// let typ2Str = NicePrint.minimalStringOfType cenv.denv typ2
728-
// errorR(Error(FSComp.SR.chkMultipleGenericInterfaceInstantiations(typ1Str, typ2Str), m))
729-
// else
730-
// let groups = interfaces |> List.groupBy keyf
731-
// let errors = seq {
732-
// for (_, items) in groups do
733-
// for i1 in 0 .. items.Length - 1 do
734-
// for i2 in i1 + 1 .. items.Length - 1 do
735-
// let typ1 = items.[i1]
736-
// let typ2 = items.[i2]
737-
// match compareTypesWithRegardToTypeVariablesAndMeasures cenv.g cenv.amap m typ1 typ2 with
738-
// | ExactlyEqual -> () // exact duplicates are checked in another place
739-
// | FeasiblyEqual ->
740-
// let typ1Str = NicePrint.minimalStringOfType cenv.denv typ1
741-
// let typ2Str = NicePrint.minimalStringOfType cenv.denv typ2
742-
// if isObjectExpression then
743-
// yield (Error(FSComp.SR.typrelInterfaceWithConcreteAndVariableObjectExpression(tcRef1.DisplayNameWithStaticParametersAndUnderscoreTypars, typ1Str, typ2Str),m))
744-
// else
745-
// let typStr = NicePrint.minimalStringOfType cenv.denv typ
746-
// yield (Error(FSComp.SR.typrelInterfaceWithConcreteAndVariable(typStr, tcRef1.DisplayNameWithStaticParametersAndUnderscoreTypars, typ1Str, typ2Str),m))
747-
// | NotEqual -> ()
748-
// }
749-
// match Seq.tryHead errors with
750-
// | None -> ()
751-
// | Some e -> errorR(e)
752709

753710
let CheckMultipleInterfaceInstantiations cenv (typ:TType) (interfaces:TType list) isObjectExpression m =
754711
let keyf ty = assert isAppTy cenv.g ty; (tcrefOfAppTy cenv.g ty).Stamp

0 commit comments

Comments
 (0)