Docs: Documentation pages for F# compiler errors like C# has

Created on 9 Dec 2019  路  14Comments  路  Source: dotnet/docs

Help us make content visible

  • Searching for 'F# Compiler Warnings' yields information about compiler flags like nowarn and warnaserror
  • These tell me how to change the processing of particular errors/warnings, but they don't describe the warning or error in detail, and/or suggest how to resolve the issue.

Describe the new article

  • The article would replace the current process of looking up the error number in FsComp.txt and inferring the problem/context from other searches in the repo. It would allow for detailed discussion of particular errors and warnings (along with suggestions about warning levels etc), and allow for deep-linking in detailed compiler/tooling error messages as a static reference.
  • Placement as a second-level node under 'F# Language Reference' -> 'F# Compiler Errors and Warnings' would be fine. This mimics the current C# layout in a regular way. Individual error messages can be separate pages underneath this top-level heading.
  • The top-level article would discuss how to treat warnings and errors generally. It would cover various ways of setting the 'nowarn' and 'warnaserror' flags (via fsc.exe directly as well as via MSBuild Project Properties). Then, detail pages for specific errors would:

    • name the error

    • replicate the output from the compiler to inform the reader they are at the correct location

    • describe in more detail the intent of the error/warning

    • provide code examples that trigger the error/warning

    • provide suggestion ways to resolve the error/warning


Checklist of all F# errors as 23 December 2019

  • [x] 1
  • [x] 2
  • [x] 3
  • [x] 5
  • [x] 7 (never actually thrown in the compiler)
  • [x] 8
  • [x] 9
  • [ ] 10
  • [ ] 10
  • [ ] 13
  • [ ] 14
  • [ ] 16
  • [ ] 17
  • [ ] 18
  • [ ] 19
  • [ ] 20
  • [ ] 21
  • [ ] 22
  • [ ] 23
  • [x] 25
  • [ ] 26
  • [ ] 27
  • [ ] 28
  • [ ] 29
  • [ ] 30
  • [ ] 31
  • [ ] 32
  • [ ] 33
  • [ ] 34
  • [ ] 35
  • [ ] 36
  • [ ] 37
  • [ ] 38
  • [ ] 39
  • [ ] 40
  • [ ] 41
  • [ ] 42
  • [ ] 43
  • [ ] 44
  • [ ] 45
  • [ ] 46
  • [ ] 47
  • [ ] 48
  • [ ] 49
  • [ ] 50
  • [ ] 51
  • [x] 52
  • [ ] 53
  • [ ] 54
  • [ ] 56
  • [ ] 57
  • [ ] 58
  • [ ] 59
  • [ ] 60
  • [ ] 61
  • [ ] 63
  • [ ] 64
  • [ ] 66
  • [ ] 67
  • [ ] 68
  • [ ] 69
  • [ ] 70
  • [ ] 71
  • [ ] 72
  • [ ] 73
  • [ ] 74
  • [ ] 75
  • [ ] 76
  • [ ] 77
  • [ ] 78
  • [ ] 79
  • [ ] 81
  • [ ] 82
  • [ ] 83
  • [ ] 84
  • [ ] 85
  • [ ] 86
  • [ ] 87
  • [ ] 89
  • [ ] 90
  • [ ] 91
  • [ ] 92
  • [ ] 93
  • [ ] 101
  • [ ] 103
  • [ ] 104
  • [ ] 192
  • [ ] 193
  • [ ] 201
  • [ ] 203
  • [ ] 204
  • [ ] 205
  • [ ] 206
  • [ ] 207
  • [ ] 209
  • [ ] 210
  • [ ] 211
  • [ ] 212
  • [ ] 213
  • [ ] 214
  • [ ] 218
  • [ ] 220
  • [ ] 221
  • [ ] 222
  • [ ] 222
  • [ ] 223
  • [ ] 224
  • [ ] 225
  • [ ] 226
  • [ ] 227
  • [ ] 228
  • [ ] 229
  • [ ] 231
  • [ ] 232
  • [ ] 233
  • [ ] 234
  • [ ] 235
  • [ ] 236
  • [ ] 237
  • [ ] 238
  • [ ] 239
  • [ ] 240
  • [ ] 241
  • [ ] 242
  • [ ] 243
  • [ ] 244
  • [ ] 245
  • [ ] 246
  • [ ] 247
  • [ ] 248
  • [ ] 249
  • [ ] 250
  • [ ] 251
  • [ ] 252
  • [ ] 253
  • [ ] 254
  • [ ] 255
  • [ ] 256
  • [ ] 257
  • [ ] 259
  • [ ] 260
  • [ ] 261
  • [ ] 265
  • [ ] 267
  • [ ] 290
  • [ ] 291
  • [ ] 292
  • [ ] 293
  • [ ] 294
  • [ ] 294
  • [ ] 295
  • [ ] 295
  • [ ] 296
  • [ ] 297
  • [ ] 298
  • [ ] 299
  • [ ] 300
  • [ ] 301
  • [ ] 302
  • [ ] 303
  • [ ] 304
  • [ ] 305
  • [ ] 306
  • [ ] 307
  • [ ] 308
  • [ ] 309
  • [ ] 311
  • [ ] 312
  • [ ] 313
  • [ ] 314
  • [ ] 315
  • [ ] 316
  • [ ] 317
  • [ ] 318
  • [ ] 319
  • [ ] 320
  • [ ] 331
  • [ ] 333
  • [ ] 334
  • [ ] 335
  • [ ] 337
  • [ ] 338
  • [ ] 339
  • [ ] 340
  • [ ] 341
  • [ ] 342
  • [ ] 343
  • [ ] 344
  • [ ] 345
  • [ ] 346
  • [ ] 355
  • [ ] 356
  • [ ] 357
  • [ ] 358
  • [ ] 359
  • [ ] 360
  • [ ] 361
  • [ ] 362
  • [ ] 363
  • [ ] 364
  • [ ] 365
  • [ ] 365
  • [ ] 365
  • [ ] 366
  • [ ] 366
  • [ ] 366
  • [ ] 367
  • [ ] 368
  • [ ] 369
  • [ ] 370
  • [ ] 371
  • [ ] 372
  • [ ] 374
  • [ ] 376
  • [ ] 377
  • [ ] 378
  • [ ] 379
  • [ ] 380
  • [ ] 381
  • [ ] 382
  • [ ] 383
  • [ ] 384
  • [ ] 385
  • [ ] 386
  • [ ] 386
  • [ ] 387
  • [ ] 405
  • [ ] 406
  • [ ] 408
  • [ ] 410
  • [ ] 411
  • [ ] 412
  • [ ] 413
  • [ ] 414
  • [ ] 415
  • [ ] 416
  • [ ] 417
  • [ ] 418
  • [ ] 419
  • [ ] 420
  • [ ] 421
  • [ ] 422
  • [ ] 423
  • [ ] 424
  • [ ] 425
  • [ ] 426
  • [ ] 428
  • [ ] 429
  • [ ] 430
  • [ ] 431
  • [ ] 432
  • [ ] 433
  • [ ] 434
  • [ ] 435
  • [ ] 436
  • [ ] 437
  • [ ] 438
  • [ ] 438
  • [ ] 439
  • [ ] 440
  • [ ] 441
  • [ ] 441
  • [ ] 442
  • [ ] 442
  • [ ] 443
  • [ ] 444
  • [ ] 445
  • [ ] 446
  • [ ] 447
  • [ ] 448
  • [ ] 449
  • [ ] 450
  • [ ] 451
  • [ ] 452
  • [ ] 453
  • [ ] 454
  • [ ] 455
  • [ ] 456
  • [ ] 457
  • [ ] 458
  • [ ] 459
  • [ ] 460
  • [ ] 461
  • [ ] 462
  • [ ] 464
  • [ ] 465
  • [ ] 472
  • [ ] 483
  • [ ] 484
  • [ ] 485
  • [ ] 486
  • [ ] 487
  • [ ] 488
  • [ ] 489
  • [ ] 490
  • [ ] 491
  • [ ] 492
  • [ ] 493
  • [ ] 495
  • [ ] 496
  • [ ] 497
  • [ ] 498
  • [ ] 499
  • [ ] 500
  • [ ] 501
  • [ ] 501
  • [ ] 501
  • [ ] 502
  • [ ] 503
  • [ ] 504
  • [ ] 505
  • [ ] 506
  • [ ] 507
  • [ ] 508
  • [ ] 509
  • [ ] 512
  • [ ] 513
  • [ ] 514
  • [ ] 515
  • [ ] 516
  • [ ] 517
  • [ ] 518
  • [ ] 519
  • [ ] 520
  • [ ] 521
  • [ ] 522
  • [ ] 523
  • [ ] 524
  • [ ] 525
  • [ ] 526
  • [ ] 527
  • [ ] 528
  • [ ] 529
  • [ ] 530
  • [ ] 531
  • [ ] 532
  • [ ] 534
  • [ ] 535
  • [ ] 536
  • [ ] 537
  • [ ] 538
  • [ ] 539
  • [ ] 541
  • [ ] 542
  • [ ] 543
  • [ ] 544
  • [ ] 545
  • [ ] 546
  • [ ] 547
  • [ ] 550
  • [ ] 551
  • [ ] 552
  • [ ] 553
  • [ ] 554
  • [ ] 555
  • [ ] 556
  • [ ] 557
  • [ ] 558
  • [ ] 559
  • [ ] 560
  • [ ] 561
  • [ ] 562
  • [ ] 563
  • [ ] 564
  • [ ] 565
  • [ ] 566
  • [ ] 567
  • [ ] 568
  • [ ] 569
  • [ ] 571
  • [ ] 572
  • [ ] 573
  • [ ] 575
  • [ ] 576
  • [ ] 583
  • [ ] 584
  • [ ] 586
  • [ ] 587
  • [ ] 588
  • [ ] 589
  • [ ] 590
  • [ ] 594
  • [ ] 595
  • [ ] 596
  • [ ] 597
  • [ ] 598
  • [ ] 599
  • [ ] 601
  • [ ] 602
  • [ ] 603
  • [ ] 604
  • [ ] 605
  • [ ] 609
  • [ ] 610
  • [ ] 611
  • [ ] 613
  • [ ] 615
  • [ ] 618
  • [ ] 619
  • [ ] 620
  • [ ] 621
  • [ ] 622
  • [ ] 623
  • [ ] 624
  • [ ] 625
  • [ ] 627
  • [ ] 629
  • [ ] 632
  • [ ] 633
  • [ ] 634
  • [ ] 635
  • [ ] 636
  • [ ] 640
  • [ ] 641
  • [ ] 644
  • [ ] 645
  • [ ] 646
  • [ ] 647
  • [ ] 648
  • [ ] 649
  • [ ] 656
  • [ ] 657
  • [ ] 658
  • [ ] 659
  • [ ] 660
  • [ ] 661
  • [ ] 662
  • [ ] 663
  • [ ] 664
  • [ ] 665
  • [ ] 666
  • [ ] 667
  • [ ] 668
  • [ ] 669
  • [ ] 670
  • [ ] 671
  • [ ] 672
  • [ ] 673
  • [ ] 674
  • [ ] 675
  • [ ] 676
  • [ ] 677
  • [ ] 678
  • [ ] 679
  • [ ] 680
  • [ ] 682
  • [ ] 683
  • [ ] 685
  • [ ] 686
  • [ ] 687
  • [ ] 688
  • [ ] 689
  • [ ] 690
  • [ ] 691
  • [ ] 692
  • [ ] 693
  • [ ] 695
  • [ ] 696
  • [ ] 697
  • [ ] 698
  • [ ] 699
  • [ ] 700
  • [ ] 701
  • [ ] 702
  • [ ] 703
  • [ ] 704
  • [ ] 705
  • [ ] 706
  • [ ] 707
  • [ ] 708
  • [ ] 709
  • [ ] 711
  • [ ] 712
  • [ ] 713
  • [ ] 714
  • [ ] 715
  • [ ] 716
  • [ ] 717
  • [ ] 718
  • [ ] 719
  • [ ] 720
  • [ ] 721
  • [ ] 722
  • [ ] 723
  • [ ] 724
  • [ ] 725
  • [ ] 726
  • [ ] 727
  • [ ] 728
  • [ ] 729
  • [ ] 730
  • [ ] 731
  • [ ] 733
  • [ ] 734
  • [ ] 735
  • [ ] 736
  • [ ] 737
  • [ ] 738
  • [ ] 739
  • [ ] 740
  • [ ] 741
  • [ ] 742
  • [ ] 743
  • [ ] 744
  • [ ] 745
  • [ ] 746
  • [ ] 747
  • [ ] 748
  • [ ] 749
  • [ ] 750
  • [ ] 751
  • [ ] 752
  • [ ] 753
  • [ ] 754
  • [ ] 755
  • [ ] 756
  • [ ] 757
  • [ ] 758
  • [ ] 759
  • [ ] 760
  • [ ] 761
  • [ ] 762
  • [ ] 763
  • [ ] 764
  • [ ] 765
  • [ ] 766
  • [ ] 767
  • [ ] 767
  • [ ] 768
  • [ ] 769
  • [ ] 770
  • [ ] 771
  • [ ] 772
  • [ ] 773
  • [ ] 774
  • [ ] 775
  • [ ] 776
  • [ ] 777
  • [ ] 778
  • [ ] 779
  • [ ] 780
  • [ ] 781
  • [ ] 782
  • [ ] 783
  • [ ] 784
  • [ ] 785
  • [ ] 786
  • [ ] 787
  • [ ] 788
  • [ ] 789
  • [ ] 790
  • [ ] 791
  • [ ] 792
  • [ ] 793
  • [ ] 794
  • [ ] 795
  • [ ] 796
  • [ ] 797
  • [ ] 799
  • [ ] 800
  • [ ] 801
  • [ ] 804
  • [ ] 805
  • [ ] 806
  • [ ] 807
  • [ ] 808
  • [ ] 809
  • [ ] 810
  • [ ] 811
  • [ ] 812
  • [ ] 813
  • [ ] 814
  • [ ] 815
  • [ ] 816
  • [ ] 817
  • [ ] 818
  • [ ] 819
  • [ ] 820
  • [ ] 821
  • [ ] 823
  • [ ] 824
  • [ ] 825
  • [ ] 826
  • [ ] 827
  • [ ] 828
  • [ ] 829
  • [ ] 830
  • [ ] 831
  • [ ] 832
  • [ ] 833
  • [ ] 834
  • [ ] 835
  • [ ] 836
  • [ ] 837
  • [ ] 838
  • [ ] 839
  • [ ] 840
  • [ ] 841
  • [ ] 842
  • [ ] 843
  • [ ] 844
  • [ ] 845
  • [ ] 846
  • [ ] 847
  • [ ] 848
  • [ ] 849
  • [ ] 850
  • [ ] 851
  • [ ] 852
  • [ ] 853
  • [ ] 854
  • [ ] 855
  • [ ] 856
  • [ ] 857
  • [ ] 858
  • [ ] 859
  • [ ] 860
  • [ ] 861
  • [ ] 864
  • [ ] 864
  • [ ] 865
  • [ ] 866
  • [ ] 867
  • [ ] 868
  • [ ] 869
  • [ ] 870
  • [ ] 871
  • [ ] 872
  • [ ] 873
  • [ ] 874
  • [ ] 875
  • [ ] 876
  • [ ] 877
  • [ ] 878
  • [ ] 879
  • [ ] 880
  • [ ] 881
  • [ ] 882
  • [ ] 883
  • [ ] 884
  • [ ] 885
  • [ ] 886
  • [ ] 887
  • [ ] 888
  • [ ] 889
  • [ ] 890
  • [ ] 892
  • [ ] 893
  • [ ] 894
  • [ ] 895
  • [ ] 896
  • [ ] 897
  • [ ] 901
  • [ ] 902
  • [ ] 904
  • [ ] 905
  • [ ] 906
  • [ ] 907
  • [ ] 908
  • [ ] 909
  • [ ] 910
  • [ ] 911
  • [ ] 912
  • [ ] 913
  • [ ] 914
  • [ ] 915
  • [ ] 916
  • [ ] 917
  • [ ] 918
  • [ ] 919
  • [ ] 920
  • [ ] 921
  • [ ] 924
  • [ ] 925
  • [ ] 926
  • [ ] 927
  • [ ] 928
  • [ ] 929
  • [ ] 931
  • [ ] 932
  • [ ] 934
  • [ ] 935
  • [ ] 936
  • [ ] 937
  • [ ] 938
  • [ ] 939
  • [ ] 940
  • [ ] 941
  • [ ] 942
  • [ ] 942
  • [ ] 942
  • [ ] 942
  • [ ] 942
  • [ ] 942
  • [ ] 943
  • [ ] 944
  • [ ] 945
  • [ ] 946
  • [ ] 947
  • [ ] 948
  • [ ] 949
  • [ ] 950
  • [ ] 951
  • [ ] 953
  • [ ] 954
  • [ ] 956
  • [ ] 957
  • [ ] 959
  • [ ] 960
  • [ ] 961
  • [ ] 962
  • [ ] 963
  • [ ] 964
  • [ ] 965
  • [ ] 966
  • [ ] 967
  • [ ] 970
  • [ ] 971
  • [ ] 972
  • [ ] 973
  • [ ] 975
  • [ ] 976
  • [ ] 980
  • [ ] 981
  • [ ] 982
  • [ ] 983
  • [ ] 984
  • [ ] 985
  • [ ] 986
  • [ ] 987
  • [ ] 988
  • [ ] 989
  • [ ] 990
  • [ ] 991
  • [ ] 992
  • [ ] 993
  • [ ] 994
  • [ ] 1000
  • [ ] 1048
  • [ ] 1049
  • [ ] 1050
  • [ ] 1051
  • [ ] 1052
  • [ ] 1063
  • [ ] 1064
  • [ ] 1065
  • [ ] 1089
  • [ ] 1090
  • [ ] 1091
  • [ ] 1092
  • [ ] 1093
  • [ ] 1094
  • [ ] 1095
  • [ ] 1096
  • [ ] 1097
  • [ ] 1099
  • [ ] 1101
  • [ ] 1102
  • [ ] 1103
  • [ ] 1104
  • [ ] 1106
  • [ ] 1107
  • [ ] 1108
  • [ ] 1109
  • [ ] 1110
  • [ ] 1111
  • [ ] 1112
  • [ ] 1113
  • [ ] 1114
  • [ ] 1115
  • [ ] 1116
  • [ ] 1117
  • [ ] 1118
  • [ ] 1119
  • [ ] 1123
  • [ ] 1124
  • [ ] 1125
  • [ ] 1126
  • [ ] 1127
  • [ ] 1128
  • [ ] 1129
  • [ ] 1130
  • [ ] 1132
  • [ ] 1133
  • [ ] 1134
  • [ ] 1135
  • [ ] 1136
  • [ ] 1138
  • [ ] 1140
  • [ ] 1141
  • [ ] 1142
  • [ ] 1143
  • [ ] 1144
  • [ ] 1145
  • [ ] 1146
  • [ ] 1147
  • [ ] 1148
  • [ ] 1149
  • [ ] 1150
  • [ ] 1151
  • [ ] 1152
  • [ ] 1153
  • [ ] 1154
  • [ ] 1155
  • [ ] 1156
  • [ ] 1157
  • [ ] 1158
  • [ ] 1159
  • [ ] 1160
  • [ ] 1161
  • [ ] 1162
  • [ ] 1163
  • [ ] 1166
  • [ ] 1168
  • [ ] 1169
  • [ ] 1170
  • [ ] 1171
  • [ ] 1172
  • [ ] 1173
  • [ ] 1174
  • [ ] 1175
  • [ ] 1176
  • [ ] 1177
  • [ ] 1178
  • [ ] 1178
  • [ ] 1178
  • [ ] 1178
  • [ ] 1179
  • [ ] 1180
  • [ ] 1181
  • [ ] 1182
  • [ ] 1183
  • [ ] 1184
  • [ ] 1185
  • [ ] 1186
  • [ ] 1187
  • [ ] 1188
  • [ ] 1189
  • [ ] 1190
  • [ ] 1193
  • [ ] 1194
  • [ ] 1195
  • [ ] 1196
  • [ ] 1197
  • [ ] 1198
  • [ ] 1200
  • [ ] 1201
  • [ ] 1202
  • [ ] 1206
  • [ ] 1207
  • [ ] 1208
  • [ ] 1208
  • [ ] 1209
  • [ ] 1210
  • [ ] 1211
  • [ ] 1212
  • [ ] 1213
  • [ ] 1215
  • [ ] 1216
  • [ ] 1217
  • [ ] 1218
  • [ ] 1219
  • [ ] 1220
  • [ ] 1221
  • [ ] 1223
  • [ ] 1225
  • [ ] 1227
  • [ ] 1228
  • [ ] 1230
  • [ ] 1231
  • [ ] 1232
  • [ ] 1233
  • [ ] 1240
  • [ ] 1241
  • [ ] 1242
  • [ ] 1243
  • [ ] 1244
  • [ ] 1245
  • [ ] 1246
  • [ ] 1247
  • [ ] 1300
  • [ ] 1301
  • [ ] 1302
  • [ ] 1303
  • [ ] 1304
  • [ ] 1305
  • [ ] 1306
  • [ ] 1307
  • [ ] 1308
  • [ ] 1309
  • [ ] 1310
  • [ ] 1501
  • [ ] 1502
  • [ ] 2001
  • [ ] 2002
  • [ ] 2003
  • [ ] 2004
  • [ ] 2005
  • [ ] 2006
  • [ ] 2007
  • [ ] 2008
  • [ ] 2009
  • [ ] 2011
  • [ ] 2012
  • [ ] 2013
  • [ ] 2014
  • [ ] 2015
  • [ ] 2016
  • [ ] 2017
  • [ ] 2018
  • [ ] 2019
  • [ ] 2020
  • [ ] 2021
  • [ ] 2022
  • [ ] 2023
  • [ ] 2024
  • [ ] 2025
  • [ ] 2026
  • [ ] 2027
  • [ ] 2028
  • [ ] 3000
  • [ ] 3001
  • [ ] 3002
  • [ ] 3003
  • [ ] 3004
  • [ ] 3005
  • [ ] 3006
  • [ ] 3007
  • [ ] 3011
  • [ ] 3013
  • [ ] 3014
  • [ ] 3015
  • [ ] 3016
  • [ ] 3017
  • [ ] 3018
  • [ ] 3019
  • [ ] 3020
  • [ ] 3021
  • [ ] 3022
  • [ ] 3025
  • [ ] 3028
  • [ ] 3029
  • [ ] 3030
  • [ ] 3031
  • [ ] 3032
  • [ ] 3033
  • [ ] 3034
  • [ ] 3035
  • [ ] 3036
  • [ ] 3039
  • [ ] 3041
  • [ ] 3042
  • [ ] 3043
  • [ ] 3044
  • [ ] 3045
  • [ ] 3046
  • [ ] 3047
  • [ ] 3051
  • [ ] 3053
  • [ ] 3056
  • [ ] 3057
  • [ ] 3058
  • [ ] 3060
  • [ ] 3061
  • [ ] 3062
  • [ ] 3063
  • [ ] 3065
  • [ ] 3066
  • [ ] 3068
  • [ ] 3069
  • [ ] 3070
  • [ ] 3071
  • [ ] 3072
  • [ ] 3073
  • [ ] 3075
  • [ ] 3077
  • [ ] 3078
  • [ ] 3080
  • [ ] 3081
  • [ ] 3082
  • [ ] 3083
  • [ ] 3084
  • [ ] 3085
  • [ ] 3086
  • [ ] 3087
  • [ ] 3090
  • [ ] 3091
  • [ ] 3092
  • [ ] 3093
  • [ ] 3095
  • [ ] 3095
  • [ ] 3096
  • [ ] 3097
  • [ ] 3098
  • [ ] 3099
  • [ ] 3100
  • [ ] 3101
  • [ ] 3102
  • [ ] 3103
  • [ ] 3104
  • [ ] 3105
  • [ ] 3106
  • [ ] 3107
  • [ ] 3108
  • [ ] 3109
  • [ ] 3110
  • [ ] 3111
  • [ ] 3112
  • [ ] 3113
  • [ ] 3114
  • [ ] 3115
  • [ ] 3116
  • [ ] 3117
  • [ ] 3118
  • [ ] 3119
  • [ ] 3120
  • [ ] 3121
  • [ ] 3122
  • [ ] 3123
  • [ ] 3125
  • [ ] 3126
  • [ ] 3127
  • [ ] 3127
  • [ ] 3128
  • [ ] 3129
  • [ ] 3130
  • [ ] 3131
  • [ ] 3132
  • [ ] 3133
  • [ ] 3134
  • [ ] 3135
  • [ ] 3136
  • [ ] 3138
  • [ ] 3139
  • [ ] 3140
  • [ ] 3141
  • [ ] 3142
  • [ ] 3143
  • [ ] 3144
  • [ ] 3145
  • [ ] 3146
  • [ ] 3147
  • [ ] 3148
  • [ ] 3149
  • [ ] 3150
  • [ ] 3151
  • [ ] 3152
  • [ ] 3153
  • [ ] 3155
  • [ ] 3156
  • [ ] 3158
  • [ ] 3159
  • [ ] 3160
  • [ ] 3161
  • [ ] 3162
  • [ ] 3163
  • [ ] 3164
  • [ ] 3165
  • [ ] 3167
  • [ ] 3168
  • [ ] 3169
  • [ ] 3170
  • [ ] 3171
  • [ ] 3172
  • [ ] 3173
  • [ ] 3174
  • [ ] 3174
  • [ ] 3174
  • [ ] 3174
  • [ ] 3175
  • [ ] 3176
  • [ ] 3176
  • [ ] 3177
  • [ ] 3178
  • [ ] 3179
  • [ ] 3180
  • [ ] 3181
  • [ ] 3182
  • [ ] 3183
  • [ ] 3184
  • [ ] 3185
  • [ ] 3186
  • [ ] 3187
  • [ ] 3188
  • [ ] 3189
  • [ ] 3190
  • [ ] 3191
  • [ ] 3192
  • [ ] 3193
  • [ ] 3194
  • [ ] 3195
  • [ ] 3196
  • [ ] 3197
  • [ ] 3198
  • [ ] 3198
  • [ ] 3199
  • [ ] 3200
  • [ ] 3201
  • [ ] 3202
  • [ ] 3203
  • [ ] 3204
  • [ ] 3206
  • [ ] 3207
  • [ ] 3208
  • [ ] 3209
  • [ ] 3210
  • [ ] 3211
  • [ ] 3213
  • [ ] 3214
  • [ ] 3215
  • [ ] 3216
  • [ ] 3216
  • [ ] 3217
  • [ ] 3217
  • [ ] 3218
  • [ ] 3219
  • [ ] 3220
  • [ ] 3221
  • [ ] 3222
  • [ ] 3223
  • [ ] 3224
  • [ ] 3225
  • [ ] 3226
  • [ ] 3227
  • [ ] 3228
  • [ ] 3229
  • [ ] 3230
  • [ ] 3231
  • [ ] 3232
  • [ ] 3233
  • [ ] 3234
  • [ ] 3235
  • [ ] 3236
  • [ ] 3237
  • [ ] 3238
  • [ ] 3239
  • [ ] 3242
  • [ ] 3243
  • [ ] 3244
  • [ ] 3245
  • [ ] 3246
  • [ ] 3250
  • [ ] 3251
  • [ ] 3300
  • [ ] 3301

Area - F# Guide Pri3 doc-idea

All 14 comments

Note that for now I'm not suggesting that any of these pages be generated from the FsComp.txt page in any way. I think it's more valuable to spend that time creating the initial versions of the page, because additions to that file are usually done in a very controlled fashion and could be easily tracked via the Issues list on this repo.

I would also be very, very interested in writing those pages, I just lack the knowledge around getting entire new topics configured correctly for this repository.

@cartermp please take a look at this suggestion for the F# docs

@baronfel this makes sense and I think the structure is right. Adding docs is very very easy:

  • Create a folder for this with a meaningful name (language-reference/compiler-messages)?
  • Put a single index.md file to represent a root document
  • Put some markdown files in there (copy/pate from other files for metadata and I'll help from there)
  • Write the article using normal markdown
  • Add links in the fsharp/toc.yml file to show it in the right-hand side of the docs

Then that's it! The system will give it a url that matches the folder/file structure and it's all just normal markdown + git-based workflow.

Thanks for the pointers! I'm about to go on vacation for a bit, but I'd like to do a bit of hobby-poking around on this when I get back, and those will help immensely.

I've added a list of all known compiler errors to this issue. I've also put out a call for volunteers to flesh out some of the many compiler errors. Might I suggest treating this issue more as a tracking issue, merging the initial MRs I created with a few examples, and then letting others open issues checking off one or more of the remaining issues over time?

Just today I wanted to lookup 0052, 3239, and 0025 and did not succeed.

Yep! Only a few have been done (they can be time-intensive to author), but now that the first few are in and there's a pattern, it's relatively easy to add new ones. If you (or anyone else!) are at all interested in helping out I'd be more than happy to walk through the process with you.

I just noticed this is live! https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/compiler-messages/fs0001

Say I wanted to contribute 0025. Where would I go to find out what that is?

I guess this search yielded pretty good results: https://github.com/dotnet/fsharp/search?q=FS0025

The error numbers themselves are going to come from one of two major places:

  • this match expression of for errors that are compiler-intrinsic ones (or simply added before the habit was to include the error number in fscomp.txt), or
  • the first column of a line in FSComp.txt, which is where most of the localize-strings for the compiler live

Once you've got the number, you've also got the name for the member to look for. For example, number 25 is here, and the associated error is PatternMatchCompilation.MatchIncomplete (which is defined here). Generally speaking, once I know what kind of error is raised for what kind of compilation error, I search through the codebase for how it is raised in the compiler and what test cases might be used to demonstrate it. Armed with this information, I'd clone down this repository and go to the docs/fsharp/language-reference/compiler-messages directory, then execute the util/new-message script to scaffold out the required metadata for a new compiler message entry like so: util/new-message 0025 "Reasonable Title For This Error Case". I'll leave a reasonable title to you, but this one for example might be something like Pattern Match clauses are incomplete.

With this done, the new markdown file for your error message will have been scaffolded out and added to the table of contents, so all that's left for you to do is actually fill out some help message content for your chosen error message. The others there should be an acceptable pattern base yours off of (as they've passed review here already in terms of formatting and grammar), but the team here is very helpful about any changes that might need to be made with regards to those areas.

When it comes to code snippets, those go in a matching folder in this repository: samples/snippets/fsharp/compiler-messages and should be referenced via the syntax in the existing documentation:

[!code-fsharp[FS0008-error](~/samples/snippets/fsharp/compiler-messages/fs0008.fs#L2-L5)]

meaning "render lines 2-5 of ~/samples/snippets/fsharp/compiler-messages/fs0008.fs as F# code, with the heading name of FS0008-error".

Hope this helps!

I took a crack at it in #21424

For history, I wrote a blog post based on this https://brett-rowberry.medium.com/f-compiler-messages-24da6589d796.

Hopefully, after #22159 all the instructions needed to contribute will be contained in https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/compiler-messages/ and in this repository itself.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ygoe picture ygoe  路  3Comments

stanuku picture stanuku  路  3Comments

svick picture svick  路  3Comments

sebagomez picture sebagomez  路  3Comments

garfbradaz picture garfbradaz  路  3Comments