# \[Feature #3068\] \[TypedData\] RUBY\_TYPED\_DEFAULT\_FREE $B$OI,MW(B?

**URL:** <https://www.ruby-forum.com/t/feature-3068-typeddata-ruby-typed-default-free-b-oi-mw-b/186114>\
**Category:** Development\
**Created:** [March 31, 2010, 6:28pm UTC](https://www.ruby-forum.com/t/feature-3068-typeddata-ruby-typed-default-free-b-oi-mw-b/186114 "2010-03-31T18:28:34Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [March 31, 2010, 6:28pm UTC](https://www.ruby-forum.com/t/feature-3068-typeddata-ruby-typed-default-free-b-oi-mw-b/186114/1 "2010-03-31T18:28:34Z")

</div>

Feature #3068: [TypedData] RUBY\_TYPED\_DEFAULT\_FREE e$B$OI,MWe(B?  
[http://redmine.ruby-lang.org/issues/show/3068](http://redmine.ruby-lang.org/issues/show/3068)

e$B5/I\<\<Te(B: Tadashi S.  
e$B%9%F!\<%?%9e(B: Open, e$BM%@hEYe(B: Normal

e$B:XF#$H?=$7$^$9!#e(B

1.9.2e$B$+$ie(BRUBY\_TYPED\_DEFAULT\_FREEe$B$H$$$&$N$,F3F~$5$l$k$h$&$G$9$,!"e(B  
e$B$3$l$OK\Ev$KI,MW$J$b$N$G$7$g$&$+!#e(B

#define RUBY\_TYPED\_DEFAULT\_FREE ((void (\*)(void \*))-1)

e$B$N$h$&$K!"e(B-1e$B$re(B(dfreee$B$HF1$87?$Ne(B)e$B4X?t%]%$%s%?$K%-%c%9%H$9$k$@$1$Ne(B  
e$B4JC1$J$b$N$G$9$,!"D\>$K!Ve(B-1e$B!W$H=q$/$N$K$/$i$Y$F!"e(B10e$BG\0J\>eD9$/$J$C$Fe(B  
e$B$7$^$$$^$9!#e(B

# e$B$5$i$K$h!\<$/8+$k$H!"!Ve(B((void (\*)(void \*))-1)e$B!W$HD\>=q$-$9$ke(B

# e$B$h$j$bD9$/$J$C$F$^$9$Me(B

-1e$B$r;XDj$9$k$N$O!“e(BREADME.EXTe$B$K$b:$C$F$$$kEAE}$”$kJ}K!$J$N$G!“e(B  
e$B$o$6$o$6:#$K$J$C$FJLL\>$r$D$1$k;v$b$J$s$8$c$J$$$G$7$g$&$+!#e(B  
e$B$=$l$H$b!”$I$3$+$i$+0U8+$d5DO@$,$"$C$?$N$G$7$g$&$+!#e(B  
(e$B8+F($7$F$?$J$i$4$a$s$J$5$$e(B)

e$B$^$?!"$b$7!V!Xe(B-1e$B!Y$H$$$&%^%8%C%/%J%s%P!\<$r;XDj$9$k$N$,1x$$!W!“e(B  
e$B!V!Xe(B-1e$B!Y$HD\>=q$-$7$?\>l9g!”!Xe(B(void (\*)(void  
_))e$B$He(Binte$B$N7?$,0c$&!Y$He(B  
e$B%3%s%Q%$%i$KE$i$l$k!We(B(e$B$H$$$&$3$H$O$“$C$?$+$J$!e(B?)e$B$J$I$NM}M3$Ge(B  
-1e$B$H=q$-$?$/$J$$$J$i$P!”$=$l$i$NB?$/$Oe(BRTypedDatae$B$N$\_$G$J$/e(BRDatae$B$K$be(B  
e$BEv$F$O$^$k$3$H$G$O$J$$$+$H?dB,$7$^$9!#$=$l$J$i$Pe(BTypede$B$G$J$$J}$Ne(B  
RDatae$BMQ$K$b!"e(BRUBY\_DEFAULT\_FREE e$BEy$rDj5A$9$k$N$,6Z$G$O$J$$$Ge(B  
e$B$7$g$&$+!#$=$N\>l9g$OF1MM$K!"e(BRUBY\_NEVER\_FREE == (void (_)(void \*))0  
e$B$de(B RUBY\_TYPED\_NEVER\_FREE e$B$rDj5A$9$kI,MW$b=P$k$G$7$g$&!#e(B

e$B$H$$$&$3$H$G!"CfESH\>C\<$@$H:.Mp$9$k$N$G!"e(B

e$B!&0lDL$jJLL\>$rMQ0U$7$F!"$3$l$+$i$O$=$A$i$r;H$&$h$&$K?d\>)$9$ke(B  
e$B!&D9$$JLL\>$ODj5A$;$:!"4J7i$J?tCM$ND\>=q$-$rBh0l\<jCJ$H$7B3$1$ke(B

e$B$N$I$A$i$+$K$A$c$s$H$=$m$($FM\_$7$$$G$9!#e(B

e$B$h$m$7$/$\*$M$,$$$7$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [March 31, 2010, 7:25pm UTC](https://www.ruby-forum.com/t/feature-3068-typeddata-ruby-typed-default-free-b-oi-mw-b/186114/2 "2010-03-31T19:25:22Z")

</div>

e$B!!$5$5$@$G$9!%e(B

(2010/04/01 1:27), Tadashi S. wrote::

> 1.9.2e$B$+$ie(BRUBY\_TYPED\_DEFAULT\_FREEe$B$H$$$&$N$,F3F~$5$l$k$h$&$G$9$,!"e(B  
> e$B$3$l$OK\Ev$KI,MW$J$b$N$G$7$g$&$+!#e(B

e$B!!e(B-1 e$B$C$F=q$/$h$j$O$o$+$j$d$9$$$s$8$c$J$$$G$7$g$&$+!%e(B

> -1e$B$r;XDj$9$k$N$O!“e(BREADME.EXTe$B$K$b:$C$F$$$kEAE}$”$kJ}K!$J$N$G!"e(B  
> e$B$o$6$o$6:#$K$J$C$FJLL\>$r$D$1$k;v$b$J$s$8$c$J$$$G$7$g$&$+!#e(B

e$B!!$^$!!$EAE}$"$kL\>A0$,$$$$$H$$$&$o$1$G$b$J$$$s$8$c$J$$$G$7$g$&$+!%e(B

> e$B$^$?!"$b$7!V!Xe(B-1e$B!Y$H$$$&%^%8%C%/%J%s%P!\<$r;XDj$9$k$N$,1x$$!W!“e(B  
> e$B!V!Xe(B-1e$B!Y$HD\>=q$-$7$?\>l9g!”!Xe(B(void (\*)(void _))e$B$He(Binte$B$N7?$,0c$&!Y$He(B  
> e$B%3%s%Q%$%i$KE$i$l$k!We(B(e$B$H$$$&$3$H$O$"$C$?$+$J$!e(B?)e$B$J$I$NM}M3$Ge(B  
> -1e$B$H=q$-$?$/$J$$$J$i$P!"$=$l$i$NB?$/$Oe(BRTypedDatae$B$N$\_$G$J$/e(BRDatae$B$K$be(B  
> e$BEv$F$O$^$k$3$H$G$O$J$$$+$H?dB,$7$^$9!#$=$l$J$i$Pe(BTypede$B$G$J$$J}$Ne(B  
> RDatae$BMQ$K$b!"e(BRUBY\_DEFAULT\_FREE e$BEy$rDj5A$9$k$N$,6Z$G$O$J$$$Ge(B  
> e$B$7$g$&$+!#$=$N\>l9g$OF1MM$K!"e(BRUBY\_NEVER\_FREE == (void (_)(void \*))0  
> e$B$de(B RUBY\_TYPED\_NEVER\_FREE e$B$rDj5A$9$kI,MW$b=P$k$G$7$g$&!#e(B

e$B!!$^$!!$$"$C$F$b$$$$$+$b$7$l$^$;$s$M$’!%e(B

---

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [April 1, 2010, 2:16am UTC](https://www.ruby-forum.com/t/feature-3068-typeddata-ruby-typed-default-free-b-oi-mw-b/186114/3 "2010-04-01T02:16:21Z")

</div>

e$B$J$+$@$G$9!#e(B

At Thu, 1 Apr 2010 01:27:52 +0900,  
Tadashi S. wrote in [ruby-dev:40889]:

> e$B!V!Xe(B-1e$B!Y$HD\>=q$-$7$?\>l9g!"!Xe(B(void (\*)(void \*))e$B$He(Binte$B$N7?$,0c$&!Y$He(B  
> e$B%3%s%Q%$%i$KE$i$l$k!We(B(e$B$H$$$&$3$H$O$"$C$?$+$J$!e(B?)e$B$J$I$NM}M3$Ge(B

e$B$3$l$,M}M3$G$9!#e(B

> -1e$B$H=q$-$?$/$J$$$J$i$P!"$=$l$i$NB?$/$Oe(BRTypedDatae$B$N$\_$G$J$/e(BRDatae$B$K$be(B  
> e$BEv$F$O$^$k$3$H$G$O$J$$$+$H?dB,$7$^$9!#$=$l$J$i$Pe(BTypede$B$G$J$$J}$Ne(B  
> RDatae$BMQ$K$b!"e(BRUBY\_DEFAULT\_FREE e$BEy$rDj5A$9$k$N$,6Z$G$O$J$$$Ge(B  
> e$B$7$g$&$+!#$=$N\>l9g$OF1MM$K!"e(BRUBY\_NEVER\_FREE == (void (\*)(void \*))0  
> e$B$de(B RUBY\_TYPED\_NEVER\_FREE e$B$rDj5A$9$kI,MW$b=P$k$G$7$g$&!#e(B

Data\_Make\_Structe$B$de(BData\_Wrap\_Structe$B$NCf$G%-%c%9%H$5$l$k$N$G!"$J$/e(B  
e$B$F$be(BRDatae$B$K$O7Y9p$O=P$^$;$s!#$^$?!"%j%F%i%k$Ne(B0e$B$Oe(BNULLe$B%]%$%s%?$HF1e(B  
e$B0l;k$5$l$k$N$G!"$3$A$i$b=P$^$;$s!#$H$$$&$3$H$G!"7Y9p$rM^$($k$?$ae(B  
e$B$KI,MW$J$N$Oe(BRUBY\_TYPED\_DEFAULT\_FREEe$B$@$1$H$$$&$N$,M}M3$G$9!#e(B

> e$B$H$$$&$3$H$G!"CfESH\>C\<$@$H:.Mp$9$k$N$G!"e(B
> 
> e$B!&0lDL$jJLL\>$rMQ0U$7$F!"$3$l$+$i$O$=$A$i$r;H$&$h$&$K?d\>)$9$ke(B  
> e$B!&D9$$JLL\>$ODj5A$;$:!"4J7i$J?tCM$ND\>=q$-$rBh0l\<jCJ$H$7B3$1$ke(B
> 
> e$B$N$I$A$i$+$K$A$c$s$H$=$m$($FM\_$7$$$G$9!#e(B

e$BJLL\>$rMQ0U$9$k$3$H$K$OH?BP$G$O$"$j$^$;$s!#e(B
