Hi I feel this might be a bug, can anyone confirm or suggest a fix? Here's a minimal usage of `command-line` form:
``` #lang typed/racket (define *message* : (Parameterof (Listof String)) (make-parameter '())) (define *verbose* : (Parameterof Boolean) (make-parameter #f)) (define (parse-cmdline) (command-line #:program "q" #:once-each [("-v" "--verbose") "verbose mode" (*verbose* #t)] #:ps "foo bar" ; <---- causing type error #:args #{msg : String} (*message* msg))) (parse-cmdline) ``` Note that it gives the below type error[1]. However, if you comment out the line with #:ps, type check passes. I noticed that from the error prompt, for argument 3, the expected Union type doesn't include 'ps. This leads me to think it might be a bug. Please tell me it's not and there's a fix:) [1]: type error: test.rkt:6:0: Type Checker: Polymorphic function `parse-command-line' could not be applied to arguments: Argument 1: Expected: Path-String Given: String Argument 2: Expected: (U (Listof String) (Vectorof String)) Given: (Vectorof String) Argument 3: Expected: (Listof (Pairof (U 'final 'help-labels 'multi 'once-any 'once-each) (Listof (Listof Any)))) Given: (List (List 'once-each (List (List String String) (-> Any Void) (Listof (List String)))) (List 'ps String)) Argument 4: Expected: (-> Any a ... a b) Given: (-> Any String * Void) Argument 5: Expected: (Listof String) Given: (List String) in: (define (parse-cmdline) (command-line #:program "q" #:once-each (("-v" "--verbose") "verbose mode" (*verbose* #t)) #:ps "foo bar" #:args msg (*message* msg))) -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.