Lichen

tests/mixin_only.py

1027:dd0745ab8b8a
5 months ago Paul Boddie Reordered GCC arguments to prevent linking failures. Someone decided to change the GCC invocation or linking semantics at some point, meaning that libraries specified "too early" in the argument list no longer provide the symbols required by the program objects, whereas specifying them at the end of the argument list allows those symbols to be found and obtained.
     1 class MixIn:     2     def f(self):     3         return self.g()     4     def f2(self):     5         return self.g2()     6      7 class Concrete(MixIn):     8     def g(self):     9         return 13579    10     def g2(self):    11         return 13579    12     13 class Cement(MixIn):    14     def g2(self):    15         return 24680    16     17 m = MixIn()    18     19 try:    20     print m.f()    21 except TypeError:    22     print "m.f: cannot obtain attribute"    23     24 c = Concrete()    25 print c.f()         # 13579    26     27 try:    28     print m.f2()    29 except TypeError:    30     print "m.f2: cannot obtain attribute"    31     32 c2 = Cement()    33 print c2.f2()       # 24680