summaryrefslogtreecommitdiffhomepage
path: root/include/mruby.h
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2018-09-19 21:51:53 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2018-11-19 12:05:46 +0900
commitff08856fe314faa4d16b4502c0960a3475387846 (patch)
tree5e5bd17dc3d05a9be4c02fe80d3ecfea0ff68269 /include/mruby.h
parentafca99a40b8a3415b3a9a0e8fc41c93ddcbb11d8 (diff)
downloadmruby-ff08856fe314faa4d16b4502c0960a3475387846.tar.gz
mruby-ff08856fe314faa4d16b4502c0960a3475387846.zip
Remove implicit conversion using `to_str` method; fix #3854
We have added internal convenience method `__to_str` which does string type check. The issue #3854 was fixed but fundamental flaw of lack of stack depth check along with fibers still remains. Use `MRB_GC_FIXED_ARENA` for workaround.
Diffstat (limited to 'include/mruby.h')
-rw-r--r--include/mruby.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/include/mruby.h b/include/mruby.h
index 33597101a..12df9cd5a 100644
--- a/include/mruby.h
+++ b/include/mruby.h
@@ -854,10 +854,6 @@ typedef const char *mrb_args_format;
/**
* Retrieve arguments from mrb_state.
*
- * When applicable, implicit conversions (such as `to_str`, `to_ary`, `to_hash`) are
- * applied to received arguments.
- * Used inside a function of mrb_func_t type.
- *
* @param mrb The current MRuby state.
* @param format [mrb_args_format] is a list of format specifiers
* @param ... The passing variadic arguments must be a pointer of retrieving type.
@@ -1187,6 +1183,7 @@ MRB_API void mrb_gc_unregister(mrb_state *mrb, mrb_value obj);
MRB_API mrb_value mrb_to_int(mrb_state *mrb, mrb_value val);
#define mrb_int(mrb, val) mrb_fixnum(mrb_to_int(mrb, val))
+MRB_API mrb_value mrb_to_str(mrb_state *mrb, mrb_value val);
MRB_API void mrb_check_type(mrb_state *mrb, mrb_value x, enum mrb_vtype t);
typedef enum call_type {