top | item 46091569

(no title)

kaz-inc | 3 months ago

There kind of is. There's __cplusplus, which I'll grant you is quite janky.

  #IF __cplusplus==202302L

discuss

order

Someone|3 months ago

That checks whether a C++ compiler is used and, if so, for the version of the compiler, not whether “only modern c++ and libc++ existed inside it”.

C++ compilers carry lots of baggage for backwards compatibility.

GeorgeTirebiter|3 months ago

I'm wondering if the C++ -> Rust converters out there are part of the Solution: After converting C++ to Rust, then convert Rust to C++ and you now have clean code which can continue to use all the familiar tooling.

aw1621107|3 months ago

> I'm wondering if the C++ -> Rust converters out there are part of the Solution

Are there C++-to-Rust converters? There are definitely C-to-Rust converters, but I haven't heard of anyone attempting to tackle C++.

> After converting C++ to Rust, then convert Rust to C++ and you now have clean code which can continue to use all the familiar tooling.

This only works if a hypothetical C++ to Rust converter converts arbitrary C++ to safe Rust. C++ to unsafe Rust already seems like a huge amount of work, if it's even possible in the first place; further converting to safe Rust while preserving the semantics of the original C++ program seems even more of a pie in the sky.