Does exist a technique to inline fields of another struct?

You mean: you don't know about #1 problem with Rust? Yes, Rust compiler is really slow. Much slower than any compiler for any popular language of similar complexity.
I never expected to see anyone who doesn't know about that. There are lots of articles on subject. Read this or this if you are interested.
I don't know how much faster can you make it with proper rewrite, but that, ultimately, moot point right now: this task is so obviously beyond capabilities of any single human it's not even funny and even if proper financing could be found for some 1000 of them it's not clear if such project wouldn't die under it's own weight.
And if people would have spent too much thoughts on making compilation fast 10 years ago then, most likely, Rust would have never reached 1.0 milestone and we wouldn't have had that discussion at all.
But not all software engineering projects are this complex. Sometimes you do have choice between “fast and efficient <something>” and “show and inefficient <something>” not “finished <something>” and “unfinished <something>”.
In these cases efficient version would always be designed to be efficient from the beginning.
The often cited Knuth quote (the infamous we should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil) which usually used as justification for modern, insanely wasteful, techniques comes from that article. Not only people forget the continuation of that canonical text (“yet we should not pass up our opportunities in that critical 3%”) but also completely forget about we should ordinarily keep efficiency considerations in the background when we formulate our programs and in established engineering disciplines a 12% improvement, easily obtained, is never considered marginal; and I believe the same viewpoint should prevail in software engineering.
Sure, it's better to have finished, working program than having an efficient (but unfinished and thus non-working one), but you can not add efficiency as an afterthought. If you don't keep efficiency considerations in the background when we formulate our programs and try to add efficiency after the fact then you would fail.

1 Like

Moderator note: I think we've answered the question. Locking up.

5 Likes