Live data from Hacker News

you_can::turn_off_the_borrow_checker

docs.rs

11–20 of 24 posts

Re: you_can::turn_off_the_borrow_checker

#11
post #7

though said for education purpose, keep finding these boundary-pushings playful. I can recall early days arrested by "several ways to access private members in C++" lol

I personally hate access controls in general since it always made be release a big sigh as a I was typing .getClass().getMethod()/getField() knowing that it hurts performance.

Re: you_can::turn_off_the_borrow_checker

#13
post #7

though said for education purpose, keep finding these boundary-pushings playful. I can recall early days arrested by "several ways to access private members in C++" lol

I personally hate access controls in general since it always made be release a big sigh as a I was typing .getClass().getMethod()/getField() knowing that it hurts performance.

That kind of code doesn't have to hurt performance, as long as monomorphization, inlining or JITting are available to the toolchain. If every single method access is a virtual-table call, then yes, there's an "unnecessary" cost. But you shouldn't be writing high-level looking code in such a language if you care about that level of performance.

Re: you_can::turn_off_the_borrow_checker

#15

Earlier quoted context omitted.

I personally hate access controls in general since it always made be release a big sigh as a I was typing .getClass().getMethod()/getField() knowing that it hurts performance.

That kind of code doesn't have to hurt performance, as long as monomorphization, inlining or JITting are available to the toolchain. If every single method access is a virtual-table call, then yes, there's an "unnecessary" cost. But you shouldn't be writing high-level looking code in such a language if you care about that level of performance.

it's more about the fact that the servers are java and invoking a reflection method does have a non-zero cost that isn't substantial but still makes you sigh as you either eat the performance cost or spend 10 minutes creating a patch and recompiling the server.

Re: you_can::turn_off_the_borrow_checker

#19

Earlier quoted context omitted.

Macros are just text in, text out, so yep

Rust macros are Token Trees and provide namespace hygiene, so not quite "text in, text out".

Token list, not token trees. There are official libraries for parsing token stream as rust code but you can parse it as anything (eg json, html) if you want to.

Re: you_can::turn_off_the_borrow_checker

#20

Earlier quoted context omitted.

Macros are just text in, text out, so yep

Rust macros are Token Trees and provide namespace hygiene, so not quite "text in, text out".

You know, I was going to say tokens rather than text, but the AI discourse has me so burnt out on the term that I edited it. Regardless, one can emit unsafe blocks from a macro, provided they are valid tokens.
Post reply on HN