fix Issue 13095 - Someteims  destructor is called if constructor throws
Merge pull request #4101 from WalterBright/fix13095

fix Issue 13095 - Sometimes struct  destructor is called if constructor throws