save! fails silently

I have a model class that has these associations

class Description < ActiveRecord::Base
  belongs_to :description
  belongs_to :cluster

and this check rule:

  validates_presence_of :cluster_id

The description association is an association to itself to do
parent/child relationships.

If I do something like

d1 = Description.new
d2 = Description.new
d2.description = d1
d2.cluster = ...find a cluster...
d2.save!
d1.cluster = ...find a cluster...
d1.save!

the association isn't saved but save! doesn't fail. If instead I do:

d1 = Description.new
d2 = Description.new
d2.description = d1
d2.cluster = ...find a cluster...
d1.cluster = ...find a cluster...
d2.save!
d1.save!

it works.

I'm guessing this is a bug. save! should not allow saving the child if
it couldn't save the parent, since it silently breaks the connection.

Pedro.