It is being tested in Roast, so I'd say it's not really that experimental anymore :-)
> On 11 Feb 2022, at 15:20, Marcel Timmerman <mt1...@gmail.com> wrote: > > Hi, > > I stumbled over a discussion between Raku developers on > "Raku/proplem-solving" issue 227 "Coercion reconsidered and unified" and I > saw something interesting about coercion. Without much knowledge I started to > experiment with a method called COERCE(). This ended successful and can now > write, for example, something like > > my Gnome::Gdk3::Visual() $visual = $button.get-visual; > > which feels more natural instead of > > my Gnome::dtk3::Visual $visual .= new(:native-object($button.get-visual)); > > I can also restrict the coercion like so, > > my Gnome::Gdk3::Visual(N-GObject) $visual = …; > > The .get-visual() example returns a native object which must be encapsulated > into the Visual type to access the Visual methods. In the Gnome::* libraries > are many such calls returning native structures which needs to be handled > like above to be able to do something with it. > > > The question now is that I can't find anything about COERCE in the > documentation. Although I have checked the Raku source code and have seen > that it is used there, I wonder if this is still experimental Raku code and > subject to changes. > > Regards, > Marcel