Hi Jakub,Thanks for the lexer patch. We're investigating the other issue and will fix it shortly.
Best, Arthur On 11/27/25 11:53 AM, Jakub Jelinek wrote:
On Thu, Nov 27, 2025 at 11:16:06AM +0100, Andreas Schwab wrote:There are more errors: ../../gcc/rust/lex/rust-lex.cc:2665:51: error: character not encodable in a single code unit 2665 | 0xfe0f /* VARIATION SELECTOR-16 */, u'🦀'}; | ^~~~~Oops, consider that changed from u'🦀' to U'🦀' in my copy./opt/gcc/gcc-20251127/Build/prev-aarch64-suse-linux/libstdc++-v3/include/bits/stl_vector.h:1109:51: error: invalid use of incomplete type ‘class Rust::TyTy::TypeBoundPredicate’ 1109 | ptrdiff_t __dif = this->_M_impl._M_finish - this->_M_impl._M_start; | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~This is something I'll defer to the Rust maintainers, I really have no idea why they forward declare std::vector<TypeBoundPredicate> for an incomplete type. Fixing that requires some major reshufling of the typecheck/rust-tyty-bounds.h typecheck/rust-tyty-subst.h typecheck/rust-tyty.h headers, likely defining TyTy::SubstitutionArg and TyTy::TypeBoundPredicate in rust-tyty-bounds.h and forward declaring anything they need in rust-tyty-bounds.h or so. I'm really surprised vectors of incomplete worked fine in C++ <= 17, but most likely with less constexpr stuff one could get away with it. Jakub
OpenPGP_0x1B3465B044AD9C65.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature
