きしもとです

(昨日のはてなダイアリーを書いていて見つけたのですが)

trunk の ri で、** メソッドを検索すると、

$ ri19 '\*\*'
     More than one method matched your request.  You can refine your
     search by asking for information on one of:

BigDecimal#** [Ruby 1.9.1]
Bignum#** [Ruby 1.9.1]
Complex#** [Ruby 1.9.1]
Date#** [Ruby 1.9.1]
Fixnum#** [Ruby 1.9.1]
Fixnum#** [Ruby 1.9.1]
Fixnum::Bignum#** [Ruby 1.9.1]
Fixnum::Bignum::Float#** [Ruby 1.9.1]
Fixnum::Bignum::Rational#** [Ruby 1.9.1]
Float#** [Ruby 1.9.1]
Matrix#** [Ruby 1.9.1]
Rational#** [Ruby 1.9.1]

のように、謎の「Date#**」メソッドが表示されます。単独で検索すると、

$ ri19 'Date#**'
---------------------------------------------------------------- Date#**
     **(n)

     From Ruby 1.9.1
------------------------------------------------------------------------
     [no description]

となります。Dateのメソッド一覧にも

$ ri19 Date
(snip)
Instance methods:
-----------------

     %, *, **, +, +, +@, -, -, -@, /, <<, <=>, <=>, ==, ===, >>,
(snip)

のように出てきます。

lib/date.rbを**で検索してもそれらしいメソッドは見当たらず、インスタンスを作って
呼んでみてもundefined methodになるのですが(下記)。

irb(main):002:0> require 'date'
=> true
irb(main):003:0> d = Date.new
=> #<Date: -4712-01-01 (-1/2,0,2299161)>
irb(main):004:0> d ** 1
NoMethodError: undefined method `**' for #<Date: -4712-01-01 (-1/2,0,2299161)>

このドキュメントにだけ現れるDate#**とは何なのでしょうか?