Das Inline ist nicht schuld. Es ist das Assert. Da kommt vermutlich ein positiver Wert rein. Aber mit deinem Assert stellst du sicher, das nur negative Werte und Null akzeptiert werden.
Da du da eh noch ein Abs hast, sind die Asserts falsch und überflüssig