Следующий код не компилируется.
type A(?arg) =
member __.Arg : string option = arg
type B(?arg) =
inherit A(arg) //ERROR expected type string but has type 'a option
Я предполагаю, что это связано с тем, что должен быть предоставлен экземпляр базового типа параметра, а компилятор обрабатывает передачу Some
/None
на основе синтаксиса.
Предполагая, что мое предположение было правильно принято, существует ли обходное решение для этого? Можно ли распространять необязательные аргументы?