#include <boost/filesystem.hpp>
#include <boost/detail/lightweight_main.hpp>
#include <string>

using namespace boost::filesystem;

//  The original bug report was that this broke:
//     path p(L"C:\\TEMP\\");
//     path r(p / "narrow");
//  That code now works, but ...

//  Nils Gladitz has provided this example ...

class Test
{
public:
    ~Test()
    {
        path p(L"C:\\TEMP\\");
        path r(p / "narrow");
    }
};

//  path p("narrow");

//  fails if static linked and Test object is global variable, but does not fail if
//  path p("narrow") line above is not commented out, and also does not fail if the
//  Test test2 line below is commented out.

Test test1;
Test test2;

int cpp_main(int, char*[])
{
    return 0;
}
