File tree Expand file tree Collapse file tree 2 files changed +16
-16
lines changed
src/FsToolkit.ErrorHandling Expand file tree Collapse file tree 2 files changed +16
-16
lines changed Original file line number Diff line number Diff line change @@ -37,26 +37,27 @@ module Option =
3737 traverseResult id opt
3838
3939#if ! FABLE_ COMPILER
40- let inline tryParse < ^T
41- when ^T : ( static member TryParse : string * byref< ^T > -> bool ) and ^T : ( new : unit -> ^T )>
40+ let inline tryParse < ^value
41+ when ^value : ( static member TryParse : string * byref< ^value > -> bool )>
4242 ( valueToParse : string )
43- : ^T option =
44- let mutable output = new ^ T ()
43+ : ^value option =
44+ let mutable output = Unchecked.defaultof < ^ value >
4545
4646 let parsed =
47- ( ^T : ( static member TryParse : string * byref< ^T > -> bool) ( valueToParse, & output))
47+ ( ^value : ( static member TryParse : string * byref< ^value > -> bool) ( valueToParse,
48+ & output))
4849
4950 match parsed with
5051 | true -> Some output
5152 | _ -> None
5253
53- let inline tryGetValue ( key : string ) ( dictionary : ^Dictionary ) : ^value option =
54+ let inline tryGetValue ( key : 'key ) ( dictionary : ^Dictionary ) : ^value option =
5455 let mutable output = Unchecked.defaultof< ^ value>
5556
5657 let parsed =
57- ( ^Dictionary : ( member TryGetValue : string * byref< ^value > -> bool) ( dictionary,
58- key,
59- & output))
58+ ( ^Dictionary : ( member TryGetValue : 'key * byref< ^value > -> bool) ( dictionary,
59+ key,
60+ & output))
6061
6162 match parsed with
6263 | true -> Some output
Original file line number Diff line number Diff line change @@ -41,11 +41,10 @@ module ValueOption =
4141 traverseResult id opt
4242
4343 let inline tryParse < ^value
44- when ^value : ( static member TryParse : string * byref< ^value > -> bool )
45- and ^value : ( new : unit -> ^value )>
44+ when ^value : ( static member TryParse : string * byref< ^value > -> bool )>
4645 ( valueToParse : string )
4746 : ^value voption =
48- let mutable output = new ^ value ()
47+ let mutable output = Unchecked.defaultof < ^ value>
4948
5049 let parsed =
5150 ( ^value : ( static member TryParse : string * byref< ^value > -> bool) ( valueToParse,
@@ -55,13 +54,13 @@ module ValueOption =
5554 | true -> ValueSome output
5655 | _ -> ValueNone
5756
58- let inline tryGetValue ( key : string ) ( dictionary : ^Dictionary ) : ^value voption =
57+ let inline tryGetValue ( key : 'key ) ( dictionary : ^Dictionary ) : ^value voption =
5958 let mutable output = Unchecked.defaultof< ^ value>
6059
6160 let parsed =
62- ( ^Dictionary : ( member TryGetValue : string * byref< ^value > -> bool) ( dictionary,
63- key,
64- & output))
61+ ( ^Dictionary : ( member TryGetValue : 'key * byref< ^value > -> bool) ( dictionary,
62+ key,
63+ & output))
6564
6665 match parsed with
6766 | true -> ValueSome output
You can’t perform that action at this time.
0 commit comments