Skip to content

Commit 35e5dbf

Browse files
authored
Reuse genericArgsLength as suggested by @TIHan (#9272)
1 parent 05c9f8b commit 35e5dbf

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

src/fsharp/import.fs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -286,10 +286,10 @@ let rec ImportProvidedType (env: ImportMap) (m: range) (* (tinst: TypeInst) *) (
286286
let tcref = ImportProvidedNamedType env m st
287287
tcref, []
288288

289+
let genericArgsLength = genericArgs.Length
289290
/// Adjust for the known primitive numeric types that accept units of measure.
290291
let tcref =
291-
match genericArgs with
292-
| [_] ->
292+
if genericArgsLength = 1 then
293293
if tyconRefEq g tcref g.system_Double_tcref then g.pfloat_tcr
294294
elif tyconRefEq g tcref g.system_Single_tcref then g.pfloat32_tcr
295295
elif tyconRefEq g tcref g.system_Decimal_tcref then g.pdecimal_tcr
@@ -298,11 +298,12 @@ let rec ImportProvidedType (env: ImportMap) (m: range) (* (tinst: TypeInst) *) (
298298
elif tyconRefEq g tcref g.system_Int64_tcref then g.pint64_tcr
299299
elif tyconRefEq g tcref g.system_SByte_tcref then g.pint8_tcr
300300
else tcref
301-
| _ -> tcref
301+
else
302+
tcref
302303

303304
let tps = tcref.Typars m
304-
if tps.Length <> genericArgs.Length then
305-
error(Error(FSComp.SR.impInvalidNumberOfGenericArguments(tcref.CompiledName, tps.Length, genericArgs.Length), m))
305+
if tps.Length <> genericArgsLength then
306+
error(Error(FSComp.SR.impInvalidNumberOfGenericArguments(tcref.CompiledName, tps.Length, genericArgsLength), m))
306307

307308
let genericArgs =
308309
(tps, genericArgs) ||> List.map2 (fun tp genericArg ->

0 commit comments

Comments
 (0)