Clang более полезен с сообщением об ошибке: `
<source>:7:20: error: '~' in destructor name should be after nested name specifier
bar->children.~std::vector<node>();`
Так что в основном вам нужно полагаться на ADL (я не гуру, поэтому, возможно, это неправильное название для материала, который вы используете, чтобы заставить его работать :)) здесь, и позвоните: bar->children.~vector<node>();