'Test that this relationship is legal, warn about
inheritance conflicts.'

def _check_conflicts(self):

    if ((not self.is_primary()) and (not mapperlib.class_mapper(self.parent.class_, configure=False).has_property(self.key))):
        raise sa_exc.ArgumentError(("Attempting    to    assign    a    new    relationship    '%s'    to    a    non-primary    mapper    on    class    '%s'.        New    relationships    can    only    be    added    to    the    primary    mapper,    i.e.    the    very    first    mapper    created    for    class    '%s'    " % (self.key, self.parent.class_.__name__, self.parent.class_.__name__)))
    if (not self.parent.concrete):
        for inheriting in self.parent.iterate_to_root():
            if ((inheriting is not self.parent) and inheriting.has_property(self.key)):
                util.warn(("Warning:    relationship    '%s'    on    mapper    '%s'    supersedes    the    same    relationship    on    inherited    mapper    '%s';    this    can    cause    dependency    issues    during    flush" % (self.key, self.parent, inheriting)))
