I don't think we have any docs with this (yet). In the 1.9.6.2 distribution, if you check out

FSharp-1.9.6.2\source\fsharp\build.ml

you'll find the code snippet below, which maps error/warning kinds to their numbers. This is at least somewhat helpful, but unfortunately is not together with the corresponding diagnostic strings, nor whether each is a warning or an error.

Note also that when you actually get the error/warning, it prints the corresponding number, e.g.

tmp.fs(3,41): warning FS0040: This and other recursive references to the object(s) being defined will be checked for initialization-soundness at runtime through the use of a delayed reference. This is because you are defining one or more recursive objects, rather than recursive functions. This warning may be suppressed by using #nowarn "40" or --nowarn 40

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
let rec GetErrorNumber err = 
  match err with 
  (* DO NOT CHANGE THESE NUMBERS *)
  | ErrorFromAddingTypeEquation _ -> 1
  | FunctionExpected _ -> 2
  | NotAFunction _  -> 3
  | IndexOutOfRangeExceptionWarning _ -> 4
  | FieldNotMutable  _ -> 5
  | Recursion _ -> 6
  | InvalidRuntimeCoercion _ -> 7
  | IndeterminateRuntimeCoercion _ -> 8
  | PossibleUnverifiableCode _ -> 9
  | SyntaxError _ -> 10
  | IndeterminateStaticCoercion  _ -> 13
  | StaticCoercionShouldUseBox  _ -> 14
  | RuntimeCoercionSourceSealed _ -> 16 
  | OverrideDoesntOverride _ -> 17
  | UnionPatternsBindDifferentNames _  -> 18
  | UnionConstrWrongArguments  _ -> 19
  | UnitTypeExpected _  -> 20
  | RecursiveUseCheckedAtRuntime  _ -> 21
  | LetRecEvaluatedOutOfOrder  _ -> 22
  | NameClash _ -> 23
  | Patcompile.MatchIncomplete _ -> 25
  | Patcompile.RuleNeverMatched _ -> 26
  | ValNotMutable _ -> 27
  | ValNotLocal _ -> 28
  | MissingFields _ -> 29
  | ValueRestriction _ -> 30
  | LetRecUnsound  _ -> 31
  | FieldsFromDifferentTypes  _ -> 32
  | TyconBadArgs _ -> 33
  | ValueNotContained _ -> 34
  | Deprecated  _ -> 35
  | ConstrNotContained _ -> 36
  | Duplicate _ -> 37
  | VarBoundTwice _  -> 38
  | UndefinedName _ -> 39
  | LetRecCheckedAtRuntime _ -> 40
  | UnresolvedOverloading _ -> 41
  | LibraryUseOnly _ -> 42
  | ErrorFromAddingConstraint _ -> 43
  | Obsolete _ -> 44
  | FullAbstraction _ -> 45
  | ReservedKeyword _ -> 46
  | SelfRefObjCtor _ -> 47
  | VirtualAugmentationOnNullValuedType _ -> 48
  | UpperCaseIdentifierInPattern _ -> 49
  | InterfaceNotRevealed _ -> 50
  | UseOfAddressOfOperator _ -> 51
  | DefensiveCopyWarning _ -> 52
  | NotUpperCaseConstructor _ -> 53
  | AbstractType _ -> 54
  | DeprecatedClassFieldInference _ -> 55
  | ThreadStaticWarning _ -> 56
  | Experimental _ -> 57
  | IndentationProblem _ -> 58
  | CoercionTargetSealed _ -> 59 
  | OverrideInAugmentation _ -> 60
  | NonVirtualAugmentationOnNullValuedType _ -> 61
  | OCamlCompatibility _ -> 62
  | ExnconstrNotContained _ -> 63
  | NonRigidTypar _ -> 64
  | UpcastUnnecessary _ -> 66
  | TypeTestUnnecessary _ -> 67
  | Creflect.IgnoringPartOfQuotedTermWarning _ -> 68
  | IntfImplInAugmentation _ -> 69
  | NonUniqueInferredAbstractSlot _ -> 70
  | ErrorFromApplyingDefault _ -> 71
  | IndeterminateType _ -> 72
  | InternalError _ -> 73
  | UnresolvedReferenceNoRange _
  | UnresolvedReference _ 
  | UnresolvedPathReferenceNoRange _ 
  | UnresolvedPathReference _ -> 74
  | DeprecatedCommandLineOption _ -> 75
  | HashIncludeNotAllowedInNonScript _ 
  | HashReferenceNotAllowedInNonScript _ 
  | HashDirectiveNotAllowedInNonScript _
  | HashReferenceCopyAfterCompileNotAllowedInNonScript _ -> 76
  | BakedInMemberConstraintName _ -> 77
  | FileNameNotResolved _ -> 78  
  | LoadedSourceNotFoundIgnoring _ -> 79
  | EmptyStruct _ -> 80
  | EmptyStructImplicit _ -> 81
  | MSBuildReferenceResolutionWarning _ -> 82
  | MSBuildReferenceResolutionError _ -> 83
  | AssemblyNotResolved _ -> 84
  | HashLoadedSourceHasIssues _ -> 85
  | StandardOperatorRedefinitionWarning _ -> 86
   (* DO NOT CHANGE THE NUMBERS *)
By on 3/2/2009 7:14 AM ()

Thx brianmcn, I got it !

By on 3/2/2009 7:12 PM ()
IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy
Built with WebSharper