// #Regression #Conformance #DeclarationElements #Accessibility #light// Private modules// Private type or module is private to its immediately enclosing module. This means the module PrivateModule in the repro // is indeed accessible to the rest of the implicit enclosing module. //<Expects id="FS1094" span="(26,17-26,34)" status="error">The value 'x' is not accessible from this code location</Expects>//<Expects id="FS1094" span="(27,17-27,34)" status="error">The value 'f' is not accessible from this code location</Expects>//<Expects id="FS1094" span="(29,17-29,20)" status="error">The value 'y' is not accessible from this code location</Expects>//<Expects id="FS1094" span="(30,17-30,20)" status="error">The value 'g' is not accessible from this code location</Expects>//<Expects id="FS1092" span="(27,19-27,32)" status="error">The type 'PrivateModule' is not accessible from this code location</Expects>//<Expects id="FS1092" span="(26,19-26,32)" status="error">The type 'PrivateModule' is not accessible from this code location</Expects>moduleM=letprivatey=42letprivategy=y*ymoduleprivatePrivateModule=letx=1letfx=x*x+ymodulepublicPublicModule=letx=1letfx=x*x+ymoduleModule1=lettest4=M.PrivateModule.x// Errorlettest5=M.PrivateModule.f2// Errorlettest6=M.y// Errorlettest7=M.g2// Errorlettest8=M.PublicModule.x// OKlettest9=M.PublicModule.f2// OK