( bzt | 2024. 03. 12., k – 13:45 )

Bocs, de amit a C fordító "nem nyúl a veremhez" eszmefuttatásról írsz, az egyáltalán nincs így és 100% fordító specifikus. És amint írtam, még optimalizációs beállítástól is függhet

Nem. A stackframe maga független. Az optimalizációtól csak az függ, hogy teljes egészében kimarad-e vagy sem, az nem, hogy hogyan működik.

Szóval ha erre akarod építeni az elméleted hogy a Rust miért nem "jövőbiztos" akkor ez masszívan mellément.

Nagyon nem! Fogadjuk, hogy 10 év múlva is épp ugyanúgy be fogja tenni a stackframe-t bármelyik C fordító -O0 esetén, és épp ugyanúgy csakis a korábbi stackframe tetejét fogja csak a verembe tenni, semmi mást! Ez már a DOS-os fordítóknál is így működött, és gcc 2.0 (a legelső gcc verzió, amit használtam) óta egész biztos így van, Clang alatt is így van, és az is biztos, hogy így is fog maradni. Mind a gcc, mind a Clang esetén különösen odafigyelnek a backward kompatíbilitásra (a -O3 persze nagy valószínűséggel generálhat mást, de az -O0 nem fog változni, ebben biztos vagyok).