Please update rust version

Hello. Current rust version is very outdated. Can you update it? If you have any problems I can help with that

3 Likes

Hi, we have started working on our next batch of language updates. We’ll update in a few weeks’ time.

Thanks! It’s good to know that language updates are finally coming. Are you updating them one at a time or everything at once? How is testing performed to confirm that the updated compilers are working properly? I offered my help with testing your D language compiler earlier and this offer still stands.

What do you think about having more than 1 compiler for some programming languages? Currently at least C++ and Python have multiple implementations on CodeChef and such redundancy is a very good thing. All compilers have bugs. Bugs are very uncommon and not easy to reproduce during contests, but they do exist. Let’s look at GCC bug #100740 as an example:

C++ code (reproducible with GCC 9 and newer, Clang works fine)
#include <iostream>
unsigned a, b;
int main() {
  unsigned c = 0;
  for (a = 0; a < 2; a++)
    for (b = 0; b < 2; b++)
      if (++c < a) {
        std::cout << "Compiler bug! See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100740\n";
        return 1;
      }
  std::cout << "No problems detected\n";
  return 0;
}
D code (reproducible with GDC 9 and newer, LDC works fine)
import std.stdio;
uint a, b;
int main() {
  uint c = 0;
  for (a = 0; a < 2; a++)
    for (b = 0; b < 2; b++)
      if (++c < a) {
        writeln("Compiler bug! See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100740");
        return 1;
      }
  writeln("No problems detected");
  return 0;
}

CodeChef still offers both GCC 6.3 and GCC 9.1 for C++, so anyone affected by that particular bug can just switch to an older version of GCC and have their solution accepted. AtCoder platform additionally offers Clang compiler for C++ and this is even better, because the probability of triggering compiler bugs in both GCC and Clang by the same code simultaneously is very low. Having LDC compiler support would be a great backup option for D language too.

BTW, the latest version of PyPy has a nasty performance bug and you probably want to dodge it when doing your upgrades.

2 Likes