How does __using__ actually work?

As I can understand from docs my code translates to require B plus call of B.__using__ macro. And that’s all. Then I should be able to use func2. Mb it is something to do with capturing function.