fn get_mut_const(
        &mut self,
        mut parent: Module,
        id: IdentId,
    ) -> Result<Option<Value>, RubyError> {
        match parent.get_mut_const(id) {
            Some(ConstEntry::Value(v)) => Ok(Some(*v)),
            Some(ConstEntry::Autoload(file)) => {
                self.require(file)?;
                match parent.get_mut_const(id) {
                    Some(ConstEntry::Value(v)) => Ok(Some(*v)),
                    _ => Ok(None),
                }
            }
            None => Ok(None),
        }
    }
Search constant table of `parent` for a constant `id`.
If the constant was found, returns Ok(Some(Value)), and if not, returns Ok(None).
Returns error if an autoload failed.
ruruby/src/vm/executor/constants.rs