racket/pict

add minimum size contract to `standard-fish`

Aperta

#85 aperta il 15 dic 2024

 (1 commento) (0 reazioni) (0 assegnatari)Racket (22 fork)github user discovery
good first issue

Metriche repository

Star
 (18 stelle)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

standard-fish fails for small values with an unfortunate error that unlike a normal error points elsewhere in the code.

standard-fish is defined at pict-lib/pict/private/utils.rkt

options:

  • check args are valid w>5 , h>1?
  • modify standard fish to accept any numbers, including zero and negative.
#lang racket
(require pict)
(standard-fish 6 1)
Documents/GitHub/racket/racket/collects/racket/contract/private/blame.rkt:350:0: draw-ellipse: contract violation
  expected: (and/c real? (not/c negative?))
  given: -2
  in: the 4th argument of
      (->m
       real?
       real?
       (and/c real? (not/c negative?))
       (and/c real? (not/c negative?))
       void?)
  contract from: (class record-dc%)
  blaming: (unit language@)
   (assuming the contract is correct)

Guida contributor