You typically get this warning when defining a recursive value that refers to itself (e.g. inside some delayed lambda or workflow):

1
let rec x = ... refer to x ...

and the compiler inserts a check to ensure that the value has been initialized before it is used. To get a sense of the injected runtime check, try something that fails, e.g.

1
let rec x = (fun () -> x + 1)()  // exception at runtime
By on 6/4/2010 11:53 AM ()

thanks - i have seen code use something like 'loop()' instead of just 'loop' to define the recursive function and that does not cause this warning

By on 6/5/2010 4:02 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