>> > LONG_LONGという言葉を使うとCRuby固有に聞こえますけど、要する
>> > にlong longのデータをどう扱いますか、ということなので、あまり
>> > LONG_LONGという字面にとらわれて考える必要はないと思います。
>>
>> 純粋に C の long long を実現するもので、
>> long long が存在しないときの挙動に合意が取れるなら
>> それはとくに問題ないんじゃないでしょうか。
>
> ふむ。
>
> では、以前も述べたように存在しないときの挙動はArgumentErrorで
> よいと思いますが、誰か異論がある人はいますでしょうか?

現実的な範囲ではどのコンパイラもソフトウェアエミュレーションでint64_t を
サポートできているようなので細かい話ですがプラットフォームの都合で
失敗するときに ArgumentError にするのはあまり好きではありません。

この状況で失敗したときってアプリ側でfallbackが書けるケースはまれで
そのまま終了するのですが、ArgumentError だとアプリケーションにバグが
あることを暗に言っているのでミスリーディングだと思うのです。

また、逆にfallbackが書けるケースでいうとプラットフォームが非対応のときは
fallbackしたいけど、それ以外のときはfallback したくないはずなのです。
それ以外というのは、よばだし側がライブラリでさらに上位のアプリケーションが
間違った引数をわたしてきた場合、ということですが。

# だけど NotImpErrorは %s() funcsion is unimplemented だから関数にしか使えないんだよねえ。使えない奴・・