Cannot install clang 16 or 17

Question:
I’ve been trying to update clang to clang 17 to compile my c++ project to get up to date standard libraries and compatibility with msvc features but for some reason, it can’t find either clang 16 nor clang 17 and suggests using clang 14 instead. I’d like the newer version to avoid having to make too many changes and check portability when writing code on visual studio 2022 at home. The nix pkgs website says clang 17 is available. Is there any way to get clang 17 working on replit ?
I’ve also tried changing channels (although i probably didn’t do it right) and installing it through the shell.

Replit Profile: https://replit.com/@benny12354

Error:

nix error: building nix env: exit status 1
Output has been trimmed to the last 20 lines

       … while evaluating attribute 'REPLIT_LD_LIBRARY_PATH' of derivation 'nix-shell'

         at «string»:304:9:

          303|       {
          304|         REPLIT_LD_LIBRARY_PATH = (pkgs.lib.optionalString (env ? REPLIT_LD_LIBRARY_PATH) (env.REPLIT_LD_LIBRARY_PATH + ":")) +
             |         ^
          305|           pkgs.lib.makeLibraryPath deps;

       error: attribute 'clang_17' missing

       at /home/runner/Raytracing/replit.nix:3:3:

            2|     deps = [
            3|                 pkgs.clang_17
             |   ^
            4|                 pkgs.SDL2
       Did you mean one of clang_10, clang_11, clang_12, clang_13 or clang_14?

Hi, @benny12354!
I wasn’t able to get Clang17 working, but I cobbled together a template that does support Clang16! Here’s the link: Clang16 - Replit

It should be possible by changing the nix channel.
.replit:

channel = "stable-23_11"
# "unstable" would also work

And this should allow you to use clang_17 and clang_16 system packages. (I’ve not tested it though.)

I’ve tried both but it doesn’t work. Thank you very much though.

Thank you very much, however, clang_16 doesn’t seem to have solved my problem. It’s entirely my fault for thinking a newer version of the compiler would fix it but since you seem to know a bit about how replit works, could you try to get this code to work ? The problem i was trying to solve by installing clang16 was trying to get this to compiler since _Boolean_testable should be part of the c++ standard library but it seems the standard library installed by default is outdated. Could you try to get a newer version ( stdc++13 or heigher i think ) that supports this ? Thank you very much in advance.

template<typename T1, typename T2>
concept _concept_compairable = requires (T1 a, T2 b) {
	_concept_number<T1>;
	_concept_number<T2>;
	{ a > b } -> std::_Boolean_testable;
	{ a < b } -> std::_Boolean_testable;
};

PS: If there is anything i should improve in my code please let me know im new to c++ and concepts.