1 (import (chicken time)) 2 (: deprecated-foo deprecated) 3 (define deprecated-foo 1) 4 (: deprecated-foo2 (deprecated foo)) 5 (define deprecated-foo2 2) 6 (: foo boolean) 7 (define foo #t) 8 9 (define (r-proc-call-argument-count-mismatch) (cons '())) 10 (define (r-proc-call-argument-type-mismatch) (length 'symbol)) 11 (define (r-proc-call-argument-value-count) (list (cpu-time)) (vector (values))) 12 (define (r-cond-branch-value-count-mismatch) (if (the * 1) 1 (cpu-time))) 13 (define (r-invalid-called-procedure-type) (1 2)) 14 (define (r-pred-call-always-true) (list? '())) 15 (define (r-pred-call-always-false) (symbol? 1)) 16 (define (r-cond-test-always-true) (if 'symbol 1)) 17 (define (r-cond-test-always-false) (if #f 1)) 18 (define (r-type-mismatch-in-the) (the symbol 1)) 19 (define (r-zero-values-for-the) (the symbol (values))) 20 (define (r-too-many-values-for-the) (the symbol (values 1 2))) 21 (define (r-toplevel-var-assignment-type-mismatch) (set! foo 1)) 22 (define (r-deprecated-identifier) (list deprecated-foo) (vector deprecated-foo2)) 23 24 (set! foo 1) 25 26 (define (append-invalid-arg) (append 1 (list 1))) 27 28 ;; (define (fail-compiler-typecase) (compiler-typecase 1 (symbol 1) (list 2))) 29 30 (module 31 m 32 () 33 (import scheme) 34 (import (chicken base) (chicken type) (chicken time)) 35 36 (: foo2 boolean) 37 (define foo2 #t) 38 (: deprecated-foo deprecated) 39 (define deprecated-foo 1) 40 (: deprecated-foo2 (deprecated foo)) 41 (define deprecated-foo2 2) 42 43 (define (toplevel-foo) 44 (define (local-bar) 45 (define (r-proc-call-argument-count-mismatch) (cons '())) 46 (define (r-proc-call-argument-type-mismatch) (string-length add1)) 47 (define (r-proc-call-argument-value-count) (list (cpu-time)) (vector (values))) 48 (define (r-cond-branch-value-count-mismatch) (if (the * 1) 1 (cpu-time))) 49 (define (r-invalid-called-procedure-type) 50 (define (variable) (foo2 2)) 51 (define (non-variable) (1 2))) 52 (define (r-pred-call-always-true) (list? '())) 53 (define (r-pred-call-always-false) (symbol? 1)) 54 (define (r-cond-test-always-true) (if (length '()) 1)) 55 (define (r-cond-test-always-false) (if #f 1)) 56 (define (r-type-mismatch-in-the) (the symbol 1)) 57 (define (r-toplevel-var-assignment-type-mismatch) (set! foo2 1)) 58 (define (r-deprecated-identifier) (list deprecated-foo) (vector deprecated-foo2)) 59 60 (define (r-zero-values-for-the) (the symbol (values))) 61 (define (zero-values-for-assignment) (set! foo (values))) 62 (define (zero-values-for-conditional) (if (values) 1)) 63 (define (zero-values-for-let) (let ((a (values))) a)) 64 65 (define (r-too-many-values-for-the) (the symbol (values 1 2))) 66 (define (too-many-values-for-assignment) (set! foo (values #t 2))) 67 (define (too-many-values-for-conditional) (if (values (the * 1) 2) 1)) 68 (define (too-many-values-for-let) (let ((a (values 1 2))) a)) 69 70 (define (r-let-value-count-invalid) 71 (define (zero-values-for-let) (let ((a (values))) a)) 72 (define (too-many-values-for-let) (let ((a (values 1 2))) a))) 73 (define (r-conditional-value-count-invalid) 74 (define (zero-values-for-conditional) (if (values) 1)) 75 (define (too-many-values-for-conditional) (if (values (the * 1) 2) 1))) 76 (define (r-assignment-value-count-invalid) 77 (define (zero-values-for-assignment) (set! foo (values))) 78 (define (too-many-values-for-assignment) (set! foo (values #t 2)))) 79 80 (define (append-invalid-arg) (append 1 (list 1))) 81 (define (vector-list-out-of-range) 82 (define (list-ref-negative-index) (list-ref '() -1)) 83 (define (list-ref-out-of-range) (list-ref '() 1)) 84 (define (vector-ref-out-of-range) (vector-ref (vector) -1))) 85 86 (define (fail-compiler-typecase) (compiler-typecase 1 (symbol 1) (list 2))) 87 ))) 88 ---------------------------------------- 89 90 Warning: literal in operator position: (1 2) 91 92 Warning: literal in operator position: (1 2) 93 94 Warning: Wrong number of arguments. 95 In file `test-scrutinizer-message-format.scm:9' 96 In procedure `r-proc-call-argument-count-mismatch' (toplevel), 97 In procedure call: 98 99 (scheme#cons '()) 100 101 Procedure `cons' is called with 1 argument but 2 arguments is expected. 102 103 Procedure `cons' from module `scheme' has this type: 104 105 ('a 'b --> (pair 'a 'b)) 106 107 Warning: Invalid argument type. 108 In file `test-scrutinizer-message-format.scm:10' 109 In procedure `r-proc-call-argument-type-mismatch' (toplevel), 110 In procedure call: 111 112 (scheme#length 'symbol) 113 114 Argument #1 to procedure `length' has invalid type: 115 116 symbol 117 118 The expected type is: 119 120 list 121 122 This is the expression: 123 124 'symbol 125 126 Procedure `length' from module `scheme' has this type: 127 128 (list -> fixnum) 129 130 Warning: Too many argument values. 131 In file `test-scrutinizer-message-format.scm:11' 132 In procedure `r-proc-call-argument-value-count' (toplevel), 133 In procedure call: 134 135 (scheme#list (chicken.time#cpu-time)) 136 137 Argument expression #1 to procedure `list' returns 2 values but 1 is expected. 138 139 The expression is a call to `cpu-time' from module `chicken.time' which has this type: 140 141 (-> fixnum fixnum) 142 143 This is the expression: 144 145 (chicken.time#cpu-time) 146 147 Warning: No values returned for argument. 148 In file `test-scrutinizer-message-format.scm:11' 149 In procedure `r-proc-call-argument-value-count' (toplevel), 150 In procedure call: 151 152 (scheme#vector (scheme#values)) 153 154 Argument expression #1 to procedure `vector' does not return any values. 155 156 The expression is a call to `values' from module `scheme' which has this type: 157 158 (procedure scheme#values (&rest values) . *) 159 160 This is the expression: 161 162 (scheme#values) 163 164 Warning: Branch value count mismatch. 165 In file `test-scrutinizer-message-format.scm:12' 166 In procedure `r-cond-branch-value-count-mismatch' (toplevel), 167 In conditional expression: 168 169 (if (the * 1) 1 (chicken.time#cpu-time)) 170 171 The branches have different number of returned values. 172 173 This true branch returns 1 value: 174 175 1 176 177 This false branch returns 2 values: 178 179 (chicken.time#cpu-time) 180 181 Warning: Invalid procedure. 182 In procedure `r-invalid-called-procedure-type' (toplevel), 183 In procedure call: 184 185 (1 2) 186 187 The procedure expression does not appear to be a callable. 188 189 The expected type is: 190 191 (* -> *) 192 193 The actual type is: 194 195 fixnum 196 197 This is the expression: 198 199 1 200 201 Note: Predicate always true. 202 In file `test-scrutinizer-message-format.scm:14' 203 In procedure `r-pred-call-always-true' (toplevel), 204 In predicate call: 205 206 (scheme#list? '()) 207 208 Predicate call will always return true. 209 210 Procedure `list?' from module `scheme' is a predicate for: 211 212 list 213 214 The given argument has this type: 215 216 null 217 218 Note: Predicate always false. 219 In file `test-scrutinizer-message-format.scm:15' 220 In procedure `r-pred-call-always-false' (toplevel), 221 In predicate call: 222 223 (scheme#symbol? 1) 224 225 Predicate call will always return false. 226 227 Procedure `symbol?' from module `scheme' is a predicate for: 228 229 symbol 230 231 The given argument has this type: 232 233 fixnum 234 235 Note: Test always true. 236 In procedure `r-cond-test-always-true' (toplevel), 237 In conditional expression: 238 239 (if 'symbol 1 (##core#undefined)) 240 241 Test condition has always true value of type: 242 243 symbol 244 245 Note: Test always false. 246 In procedure `r-cond-test-always-false' (toplevel), 247 In conditional expression: 248 249 (if #f 1 (##core#undefined)) 250 251 Test condition is always false. 252 253 Warning: Type mismatch. 254 In procedure `r-type-mismatch-in-the' (toplevel), 255 In expression: 256 257 1 258 259 Expression's declared and actual types do not match. 260 261 The declared type is: 262 263 symbol 264 265 The actual type is: 266 267 fixnum 268 269 Warning: Zero values returned. 270 In file `test-scrutinizer-message-format.scm:19' 271 In procedure `r-zero-values-for-the' (toplevel), 272 In expression: 273 274 (scheme#values) 275 276 Expression returns 0 values but is declared to return: 277 278 symbol 279 280 Warning: Too many values returned. 281 In file `test-scrutinizer-message-format.scm:20' 282 In procedure `r-too-many-values-for-the' (toplevel), 283 In expression: 284 285 (scheme#values 1 2) 286 287 Expression returns too many values. 288 289 The expression returns 2 values but is declared to return: 290 291 symbol 292 293 Warning: Type mismatch. 294 In file `test-scrutinizer-message-format.scm:20' 295 In procedure `r-too-many-values-for-the' (toplevel), 296 In expression: 297 298 (scheme#values 1 2) 299 300 Expression's declared and actual types do not match. 301 302 The declared type is: 303 304 symbol 305 306 The actual type is: 307 308 fixnum 309 310 Warning: Invalid assigned value type. 311 In procedure `r-toplevel-var-assignment-type-mismatch' (toplevel), 312 In assignment: 313 314 (set! foo 1) 315 316 Variable `foo' is assigned invalid value. 317 318 The assigned value has this type: 319 320 fixnum 321 322 The declared type of `foo' is: 323 324 boolean 325 326 Warning: Deprecated identifier `deprecated-foo'. 327 In procedure `r-deprecated-identifier' (toplevel), 328 In expression: 329 330 deprecated-foo 331 332 Use of deprecated `deprecated-foo'. 333 334 Warning: Deprecated identifier `deprecated-foo2'. 335 In procedure `r-deprecated-identifier' (toplevel), 336 In expression: 337 338 deprecated-foo2 339 340 Use of deprecated `deprecated-foo2'. 341 342 The suggested replacement is `foo'. 343 344 Warning: Invalid assigned value type. 345 At toplevel, 346 In assignment: 347 348 (set! foo 1) 349 350 Variable `foo' is assigned invalid value. 351 352 The assigned value has this type: 353 354 fixnum 355 356 The declared type of `foo' is: 357 358 boolean 359 360 Warning: Invalid argument type. 361 In file `test-scrutinizer-message-format.scm:26' 362 In procedure `append-invalid-arg' (toplevel), 363 In procedure call: 364 365 (scheme#append 1 (scheme#list 1)) 366 367 Argument #1 to procedure `append' has invalid type: 368 369 fixnum 370 371 The expected type is: 372 373 list 374 375 This is the expression: 376 377 1 378 379 Procedure `append' from module `scheme' has this type: 380 381 (&rest * -> *) 382 383 Warning: Wrong number of arguments. 384 In file `test-scrutinizer-message-format.scm:45' 385 In module `m', 386 In procedure `toplevel-foo' (toplevel), 387 In procedure `local-bar', 388 In procedure `r-proc-call-argument-count-mismatch', 389 In procedure call: 390 391 (scheme#cons '()) 392 393 Procedure `cons' is called with 1 argument but 2 arguments is expected. 394 395 Procedure `cons' from module `scheme' has this type: 396 397 ('a 'b --> (pair 'a 'b)) 398 399 Warning: Invalid argument type. 400 In file `test-scrutinizer-message-format.scm:46' 401 In module `m', 402 In procedure `toplevel-foo' (toplevel), 403 In procedure `local-bar', 404 In procedure `r-proc-call-argument-type-mismatch', 405 In procedure call: 406 407 (scheme#string-length chicken.base#add1) 408 409 Argument #1 to procedure `string-length' has invalid type: 410 411 Named procedure `chicken.base#add1' 412 413 (number -> number) 414 415 The expected type is: 416 417 string 418 419 This is the expression: 420 421 chicken.base#add1 422 423 Procedure `string-length' from module `scheme' has this type: 424 425 (string -> fixnum) 426 427 Warning: Too many argument values. 428 In file `test-scrutinizer-message-format.scm:47' 429 In module `m', 430 In procedure `toplevel-foo' (toplevel), 431 In procedure `local-bar', 432 In procedure `r-proc-call-argument-value-count', 433 In procedure call: 434 435 (scheme#list (chicken.time#cpu-time)) 436 437 Argument expression #1 to procedure `list' returns 2 values but 1 is expected. 438 439 The expression is a call to `cpu-time' from module `chicken.time' which has this type: 440 441 (-> fixnum fixnum) 442 443 This is the expression: 444 445 (chicken.time#cpu-time) 446 447 Warning: No values returned for argument. 448 In file `test-scrutinizer-message-format.scm:47' 449 In module `m', 450 In procedure `toplevel-foo' (toplevel), 451 In procedure `local-bar', 452 In procedure `r-proc-call-argument-value-count', 453 In procedure call: 454 455 (scheme#vector (scheme#values)) 456 457 Argument expression #1 to procedure `vector' does not return any values. 458 459 The expression is a call to `values' from module `scheme' which has this type: 460 461 (procedure scheme#values (&rest values) . *) 462 463 This is the expression: 464 465 (scheme#values) 466 467 Warning: Branch value count mismatch. 468 In file `test-scrutinizer-message-format.scm:48' 469 In module `m', 470 In procedure `toplevel-foo' (toplevel), 471 In procedure `local-bar', 472 In procedure `r-cond-branch-value-count-mismatch', 473 In conditional expression: 474 475 (if (the * 1) 1 (chicken.time#cpu-time)) 476 477 The branches have different number of returned values. 478 479 This true branch returns 1 value: 480 481 1 482 483 This false branch returns 2 values: 484 485 (chicken.time#cpu-time) 486 487 Warning: Invalid procedure. 488 In file `test-scrutinizer-message-format.scm:50' 489 In module `m', 490 In procedure `toplevel-foo' (toplevel), 491 In procedure `local-bar', 492 In procedure `r-invalid-called-procedure-type', 493 In procedure `variable', 494 In procedure call: 495 496 (m#foo2 2) 497 498 Variable `foo2' from module `m' is not a procedure. 499 500 It has this type: 501 502 boolean 503 504 Warning: Invalid procedure. 505 In module `m', 506 In procedure `toplevel-foo' (toplevel), 507 In procedure `local-bar', 508 In procedure `r-invalid-called-procedure-type', 509 In procedure `non-variable', 510 In procedure call: 511 512 (1 2) 513 514 The procedure expression does not appear to be a callable. 515 516 The expected type is: 517 518 (* -> *) 519 520 The actual type is: 521 522 fixnum 523 524 This is the expression: 525 526 1 527 528 Note: Predicate always true. 529 In file `test-scrutinizer-message-format.scm:52' 530 In module `m', 531 In procedure `toplevel-foo' (toplevel), 532 In procedure `local-bar', 533 In procedure `r-pred-call-always-true', 534 In predicate call: 535 536 (scheme#list? '()) 537 538 Predicate call will always return true. 539 540 Procedure `list?' from module `scheme' is a predicate for: 541 542 list 543 544 The given argument has this type: 545 546 null 547 548 Note: Predicate always false. 549 In file `test-scrutinizer-message-format.scm:53' 550 In module `m', 551 In procedure `toplevel-foo' (toplevel), 552 In procedure `local-bar', 553 In procedure `r-pred-call-always-false', 554 In predicate call: 555 556 (scheme#symbol? 1) 557 558 Predicate call will always return false. 559 560 Procedure `symbol?' from module `scheme' is a predicate for: 561 562 symbol 563 564 The given argument has this type: 565 566 fixnum 567 568 Note: Test always true. 569 In file `test-scrutinizer-message-format.scm:54' 570 In module `m', 571 In procedure `toplevel-foo' (toplevel), 572 In procedure `local-bar', 573 In procedure `r-cond-test-always-true', 574 In conditional expression: 575 576 (if (scheme#length '()) 1 (##core#undefined)) 577 578 Test condition has always true value of type: 579 580 fixnum 581 582 Note: Test always false. 583 In module `m', 584 In procedure `toplevel-foo' (toplevel), 585 In procedure `local-bar', 586 In procedure `r-cond-test-always-false', 587 In conditional expression: 588 589 (if #f 1 (##core#undefined)) 590 591 Test condition is always false. 592 593 Warning: Type mismatch. 594 In module `m', 595 In procedure `toplevel-foo' (toplevel), 596 In procedure `local-bar', 597 In procedure `r-type-mismatch-in-the', 598 In expression: 599 600 1 601 602 Expression's declared and actual types do not match. 603 604 The declared type is: 605 606 symbol 607 608 The actual type is: 609 610 fixnum 611 612 Warning: Invalid assigned value type. 613 In module `m', 614 In procedure `toplevel-foo' (toplevel), 615 In procedure `local-bar', 616 In procedure `r-toplevel-var-assignment-type-mismatch', 617 In assignment: 618 619 (set! m#foo2 1) 620 621 Variable `foo2' is assigned invalid value. 622 623 The assigned value has this type: 624 625 fixnum 626 627 The declared type of `foo2' from module `m' is: 628 629 boolean 630 631 Warning: Deprecated identifier `deprecated-foo'. 632 In module `m', 633 In procedure `toplevel-foo' (toplevel), 634 In procedure `local-bar', 635 In procedure `r-deprecated-identifier', 636 In expression: 637 638 m#deprecated-foo 639 640 Use of deprecated `deprecated-foo' from module `m'. 641 642 Warning: Deprecated identifier `deprecated-foo2'. 643 In module `m', 644 In procedure `toplevel-foo' (toplevel), 645 In procedure `local-bar', 646 In procedure `r-deprecated-identifier', 647 In expression: 648 649 m#deprecated-foo2 650 651 Use of deprecated `deprecated-foo2' from module `m'. 652 653 The suggested replacement is `foo'. 654 655 Warning: Zero values returned. 656 In file `test-scrutinizer-message-format.scm:60' 657 In module `m', 658 In procedure `toplevel-foo' (toplevel), 659 In procedure `local-bar', 660 In procedure `r-zero-values-for-the', 661 In expression: 662 663 (scheme#values) 664 665 Expression returns 0 values but is declared to return: 666 667 symbol 668 669 Warning: Assigning to `foo' with zero values. 670 In file `test-scrutinizer-message-format.scm:61' 671 In module `m', 672 In procedure `toplevel-foo' (toplevel), 673 In procedure `local-bar', 674 In procedure `zero-values-for-assignment', 675 In assignment: 676 677 (set! m#foo (scheme#values)) 678 679 Variable `foo' is assigned value from expression that returns 0 values. 680 681 The expression is a call to `values' from module `scheme' which has this type: 682 683 (procedure scheme#values (&rest values) . *) 684 685 This is the expression: 686 687 (scheme#values) 688 689 Warning: Zero values for conditional. 690 In file `test-scrutinizer-message-format.scm:62' 691 In module `m', 692 In procedure `toplevel-foo' (toplevel), 693 In procedure `local-bar', 694 In procedure `zero-values-for-conditional', 695 In conditional: 696 697 (if (scheme#values) 1 (##core#undefined)) 698 699 The test expression returns 0 values. 700 701 The expression is a call to `values' from module `scheme' which has this type: 702 703 (procedure scheme#values (&rest values) . *) 704 705 This is the expression: 706 707 (scheme#values) 708 709 Warning: Let bind to `a' with zero values. 710 In file `test-scrutinizer-message-format.scm:63' 711 In module `m', 712 In procedure `toplevel-foo' (toplevel), 713 In procedure `local-bar', 714 In procedure `zero-values-for-let', 715 In let expression: 716 717 (let ((a (scheme#values))) a) 718 719 Variable `a' is bound value from expression that returns 0 values. 720 721 The expression is a call to `values' from module `scheme' which has this type: 722 723 (procedure scheme#values (&rest values) . *) 724 725 This is the expression: 726 727 (scheme#values) 728 729 Warning: Too many values returned. 730 In file `test-scrutinizer-message-format.scm:65' 731 In module `m', 732 In procedure `toplevel-foo' (toplevel), 733 In procedure `local-bar', 734 In procedure `r-too-many-values-for-the', 735 In expression: 736 737 (scheme#values 1 2) 738 739 Expression returns too many values. 740 741 The expression returns 2 values but is declared to return: 742 743 symbol 744 745 Warning: Type mismatch. 746 In file `test-scrutinizer-message-format.scm:65' 747 In module `m', 748 In procedure `toplevel-foo' (toplevel), 749 In procedure `local-bar', 750 In procedure `r-too-many-values-for-the', 751 In expression: 752 753 (scheme#values 1 2) 754 755 Expression's declared and actual types do not match. 756 757 The declared type is: 758 759 symbol 760 761 The actual type is: 762 763 fixnum 764 765 Warning: Assigning to `foo' with 2 values. 766 In file `test-scrutinizer-message-format.scm:66' 767 In module `m', 768 In procedure `toplevel-foo' (toplevel), 769 In procedure `local-bar', 770 In procedure `too-many-values-for-assignment', 771 In assignment: 772 773 (set! m#foo (scheme#values #t 2)) 774 775 Variable `foo' is assigned value from expression that returns 2 values. 776 777 The expression is a call to `values' from module `scheme' which has this type: 778 779 (procedure scheme#values (&rest values) . *) 780 781 This is the expression: 782 783 (scheme#values #t 2) 784 785 Warning: Too many values for conditional. 786 In file `test-scrutinizer-message-format.scm:67' 787 In module `m', 788 In procedure `toplevel-foo' (toplevel), 789 In procedure `local-bar', 790 In procedure `too-many-values-for-conditional', 791 In conditional: 792 793 (if (scheme#values (the * 1) 2) 1 (##core#undefined)) 794 795 The test expression returns 2 values. 796 797 The expression is a call to `values' from module `scheme' which has this type: 798 799 (procedure scheme#values (&rest values) . *) 800 801 This is the expression: 802 803 (scheme#values (the * 1) 2) 804 805 Warning: Let bind to `a' with 2 values. 806 In file `test-scrutinizer-message-format.scm:68' 807 In module `m', 808 In procedure `toplevel-foo' (toplevel), 809 In procedure `local-bar', 810 In procedure `too-many-values-for-let', 811 In let expression: 812 813 (let ((a (scheme#values 1 2))) a) 814 815 Variable `a' is bound value from expression that returns 2 values. 816 817 The expression is a call to `values' from module `scheme' which has this type: 818 819 (procedure scheme#values (&rest values) . *) 820 821 This is the expression: 822 823 (scheme#values 1 2) 824 825 Warning: Let bind to `a' with zero values. 826 In file `test-scrutinizer-message-format.scm:71' 827 In module `m', 828 In procedure `toplevel-foo' (toplevel), 829 In procedure `local-bar', 830 In procedure `r-let-value-count-invalid', 831 In procedure `zero-values-for-let', 832 In let expression: 833 834 (let ((a (scheme#values))) a) 835 836 Variable `a' is bound value from expression that returns 0 values. 837 838 The expression is a call to `values' from module `scheme' which has this type: 839 840 (procedure scheme#values (&rest values) . *) 841 842 This is the expression: 843 844 (scheme#values) 845 846 Warning: Let bind to `a' with 2 values. 847 In file `test-scrutinizer-message-format.scm:72' 848 In module `m', 849 In procedure `toplevel-foo' (toplevel), 850 In procedure `local-bar', 851 In procedure `r-let-value-count-invalid', 852 In procedure `too-many-values-for-let', 853 In let expression: 854 855 (let ((a (scheme#values 1 2))) a) 856 857 Variable `a' is bound value from expression that returns 2 values. 858 859 The expression is a call to `values' from module `scheme' which has this type: 860 861 (procedure scheme#values (&rest values) . *) 862 863 This is the expression: 864 865 (scheme#values 1 2) 866 867 Warning: Zero values for conditional. 868 In file `test-scrutinizer-message-format.scm:74' 869 In module `m', 870 In procedure `toplevel-foo' (toplevel), 871 In procedure `local-bar', 872 In procedure `r-conditional-value-count-invalid', 873 In procedure `zero-values-for-conditional', 874 In conditional: 875 876 (if (scheme#values) 1 (##core#undefined)) 877 878 The test expression returns 0 values. 879 880 The expression is a call to `values' from module `scheme' which has this type: 881 882 (procedure scheme#values (&rest values) . *) 883 884 This is the expression: 885 886 (scheme#values) 887 888 Warning: Too many values for conditional. 889 In file `test-scrutinizer-message-format.scm:75' 890 In module `m', 891 In procedure `toplevel-foo' (toplevel), 892 In procedure `local-bar', 893 In procedure `r-conditional-value-count-invalid', 894 In procedure `too-many-values-for-conditional', 895 In conditional: 896 897 (if (scheme#values (the * 1) 2) 1 (##core#undefined)) 898 899 The test expression returns 2 values. 900 901 The expression is a call to `values' from module `scheme' which has this type: 902 903 (procedure scheme#values (&rest values) . *) 904 905 This is the expression: 906 907 (scheme#values (the * 1) 2) 908 909 Warning: Assigning to `foo' with zero values. 910 In file `test-scrutinizer-message-format.scm:77' 911 In module `m', 912 In procedure `toplevel-foo' (toplevel), 913 In procedure `local-bar', 914 In procedure `r-assignment-value-count-invalid', 915 In procedure `zero-values-for-assignment', 916 In assignment: 917 918 (set! m#foo (scheme#values)) 919 920 Variable `foo' is assigned value from expression that returns 0 values. 921 922 The expression is a call to `values' from module `scheme' which has this type: 923 924 (procedure scheme#values (&rest values) . *) 925 926 This is the expression: 927 928 (scheme#values) 929 930 Warning: Assigning to `foo' with 2 values. 931 In file `test-scrutinizer-message-format.scm:78' 932 In module `m', 933 In procedure `toplevel-foo' (toplevel), 934 In procedure `local-bar', 935 In procedure `r-assignment-value-count-invalid', 936 In procedure `too-many-values-for-assignment', 937 In assignment: 938 939 (set! m#foo (scheme#values #t 2)) 940 941 Variable `foo' is assigned value from expression that returns 2 values. 942 943 The expression is a call to `values' from module `scheme' which has this type: 944 945 (procedure scheme#values (&rest values) . *) 946 947 This is the expression: 948 949 (scheme#values #t 2) 950 951 Warning: Invalid argument type. 952 In file `test-scrutinizer-message-format.scm:80' 953 In module `m', 954 In procedure `toplevel-foo' (toplevel), 955 In procedure `local-bar', 956 In procedure `append-invalid-arg', 957 In procedure call: 958 959 (scheme#append 1 (scheme#list 1)) 960 961 Argument #1 to procedure `append' has invalid type: 962 963 fixnum 964 965 The expected type is: 966 967 list 968 969 This is the expression: 970 971 1 972 973 Procedure `append' from module `scheme' has this type: 974 975 (&rest * -> *) 976 977 Warning: List index negative. 978 In file `test-scrutinizer-message-format.scm:82' 979 In module `m', 980 In procedure `toplevel-foo' (toplevel), 981 In procedure `local-bar', 982 In procedure `vector-list-out-of-range', 983 In procedure `list-ref-negative-index', 984 In procedure call: 985 986 (scheme#list-ref '() -1) 987 988 Calling `list-ref' from module `scheme' with a negative index -1. 989 990 Warning: List index out of range. 991 In file `test-scrutinizer-message-format.scm:83' 992 In module `m', 993 In procedure `toplevel-foo' (toplevel), 994 In procedure `local-bar', 995 In procedure `vector-list-out-of-range', 996 In procedure `list-ref-out-of-range', 997 In procedure call: 998 999 (scheme#list-ref '() 1) 1000 1001 Calling `list-ref' from module `scheme' with index `1' for a list of length `0'. 1002 1003 Warning: Vector index negative. 1004 In file `test-scrutinizer-message-format.scm:84' 1005 In module `m', 1006 In procedure `toplevel-foo' (toplevel), 1007 In procedure `local-bar', 1008 In procedure `vector-list-out-of-range', 1009 In procedure `vector-ref-out-of-range', 1010 In procedure call: 1011 1012 (scheme#vector-ref (scheme#vector) -1) 1013 1014 Calling `vector-ref' from module `scheme' with a negative index -1. 1015 1016 Error: No typecase matches. 1017 In file `test-scrutinizer-message-format.scm:86' 1018 In module `m', 1019 In procedure `toplevel-foo' (toplevel), 1020 In procedure `local-bar', 1021 In procedure `fail-compiler-typecase', 1022 In `compiler-typecase' expression: 1023 1024 (compiler-typecase g104 (symbol 1) (list 2) (else (##core#undefined))) 1025 1026 Tested expression in `compiler-typecase' does not match any case. 1027 1028 The expression has this type: 1029 1030 fixnum 1031 1032 The specified type cases are these: 1033 1034 symbol 1035 1036 list