Skip to main content

reject_regexp_arg

Function reject_regexp_arg 

Source
pub(crate) fn reject_regexp_arg(
    it: &Interp,
    v: &Value,
    method: &str,
) -> Result<(), Value>
Expand description

includes/startsWith/endsWith は仕様上、第1引数に RegExp を渡すと TypeError を投げる必要がある(str.includes(/x/) のような「うっかり正規表現を 渡した」誤用に対する意図的なガード。match/replace 等と違いこれらのメソッドは 正規表現マッチングを一切サポートしないため、無警告でリテラル文字列 "/x/" として検索してしまうと気づきにくいバグの温床になる)。以前はこの チェックが丸ごと欠落しており、常に無言でリテラル文字列比較にフォールバックして いた。