Conversation
| let x:u32 = Core.Num.impl__u32__wrapping_add x 1ul in | ||
| let x:u32 = Core.Num.impl__u32__wrapping_add true x 1ul in | ||
| if x >. 3ul | ||
| then | ||
| let x:u32 = Core.Num.impl__u32__wrapping_sub x 3ul in | ||
| let x:u32 = Core.Num.impl__u32__wrapping_sub true x 3ul in | ||
| let y:u32 = x /! 2ul in | ||
| let y:u32 = Core.Num.impl__u32__wrapping_add y 2ul in | ||
| let y:u32 = Core.Num.impl__u32__wrapping_add true y 2ul in |
There was a problem hiding this comment.
Here you can see examples of the new host parameter being added to some functions.
There was a problem hiding this comment.
Since they are removing that in a later nightly, wouldn't be it worth updating rustc to the latest nightly in once, so that we don't spend time working on something that will disappear later?
There was a problem hiding this comment.
But in the same time, from rust-lang/rust#126552, it seems they want to re-introduce it at some point, so maybe we should suffer that pain now
There was a problem hiding this comment.
Well they plan to add them back in a different form
There was a problem hiding this comment.
Essentially, if they're not too annoying I'd rather we shrug and let them be. If they're too annoying I can try moving 6 months at once but that'll be a lot of work.
There was a problem hiding this comment.
Actually, from that PR it looks like it affected only PartialEq and Add, which seems manageable.
There was a problem hiding this comment.
To decide whether it's worth updating 6 months of rustc in once, the question is: what form will the new tracking of consts/effects will take? if it is still a const generic, the problem will be the same.
Also, another question is: can we, directly within the frontend, add an option to get rid of that host const generics both on method definitions and calls? I guess we should "just" lookup traits definition and check whether it was marked #[const_trait]? or it's more complicated?
c711b19
This updates rustc until Jan 1st 2024.