| from smart_pointer_not import * | |
| f = Foo() | |
| b = Bar(f) | |
| s = Spam(f) | |
| g = Grok(f) | |
| try: | |
| x = b.x | |
| raise RuntimeError("Error! b.x") | |
| except AttributeError: | |
| pass | |
| try: | |
| x = s.x | |
| raise RuntimeError("Error! s.x") | |
| except AttributeError: | |
| pass | |
| try: | |
| x = g.x | |
| raise RuntimeError("Error! g.x") | |
| except AttributeError: | |
| pass | |
| try: | |
| x = b.getx() | |
| raise RuntimeError("Error! b.getx()") | |
| except AttributeError: | |
| pass | |
| try: | |
| x = s.getx() | |
| raise RuntimeError("Error! s.getx()") | |
| except AttributeError: | |
| pass | |
| try: | |
| x = g.getx() | |
| raise RuntimeError("Error! g.getx()") | |
| except AttributeError: | |
| pass |