[HN Gopher] (Re)Using rustc components in gccrs
       ___________________________________________________________________
        
       (Re)Using rustc components in gccrs
        
       Author : lukastyrychtr
       Score  : 107 points
       Date   : 2024-10-05 09:12 UTC (3 days ago)
        
 (HTM) web link (rust-gcc.github.io)
 (TXT) w3m dump (rust-gcc.github.io)
        
       | pitaj wrote:
       | Makes sense
        
       | theobeers wrote:
       | An interesting bit, on not making it too easy for people to
       | circumvent the borrow checker:
       | 
       | > First, we use a C++ compiler to build gccrs, disabling the
       | borrow-checking pass of the compiler. _It is important to ensure
       | borrow-checking cannot be disabled at runtime using a command
       | line flag, as this could have a negative impact on the Rust
       | ecosystem_ - however, building gccrs without borrow-checking to
       | use it as an intermediate compiler in our bootstrapping process
       | is okay.
        
       | loeg wrote:
       | Love seeing updates / progress on gccrs.
        
       | PoignardAzur wrote:
       | I'm kind of curious how many components you can jettison from a
       | Rust compiler and still be able to build these libraries.
       | 
       | It's not like Polonius or the trait solver were designed with
       | bootstrapping gccrs in mind.
        
       | jenadine wrote:
       | Why not reuse the whole frontend then?
        
         | AndrewDucker wrote:
         | Because we want to plug into GCC, so that we can use the rest
         | of the compiler chain to output to all of the architectures
         | that GCC supports.
        
         | electronbeam wrote:
         | Its their itch to scratch, and its good to have an independent
         | implementation anyway
        
         | kam wrote:
         | rustc_codegen_gcc is also a thing.
        
       ___________________________________________________________________
       (page generated 2024-10-08 23:00 UTC)