いけがみです。

module A
  class A
  end
end

include A
A.new # => undefined method `new' for A:Module (NameError)

ですが、

module A
  class A
  end
end

class B
  include A
  attr_reader :a
  def initialize
    @a = A.new
  end
end
b = B.new # => succeed
p b.a     # => <A::A:ruby's internal symbol>

が通るのは、仕様でしょうか。
なお、 ruby 1.6.4 (2001-06-04) [alphaev56-osf4.0d] です。
僕の期待では、両方とも A.new がうまく動いてほしいのですが…

A::A なんてふつうつくらねーよという声が聞こえてきそうだ…
モジュール名とクラス名が不一致なら、この現象は(当然)起きないようです。
--
池上 大介
Daisuke IKEGAMI <daisu-ik / is.aist-nara.ac.jp>
奈良先端科学技術大学院大学 情報科学研究科
情報処理学専攻 情報基礎学講座 関研究室