Change:
}; let mut constants = TokenStream::new(); <ins> let mut messagerefs = Vec::new(); </ins> for entry in resource.entries() { let span = res.krate.span(); <del> if let Entry::Message(Message { id: Identifier { name }, attributes, .. }) = entry { </del> <ins> if let Entry::Message(Message { id: Identifier { name }, attributes, value, .. }) = entry { </ins> let _ = previous_defns.entry(name.to_string()).or_insert(path_span); if name.contains('-') {

Discussion:
This occurs with binary crate that is able to target macOS and is most visible when cross compiling. is sufficient. The command produces the error on Linux machines, with or without . [ ] Previous Stable [X] Current Stable [X] Current Beta [X] Current Nightly I encountered this when cross compiling from Linux to macOS. Setting to some path that does exist but isn't a valid macOS SDK gives the expected linker errors of not-found libraries and undefined symbols. <details<summaryThe correct linker errors, which occur with (or any other path that exists) </summaryerror: linking with failed: exit status: 1 | = note: "" "-flavor" "darwin" "-arch" "x8664" "-platformversion" "macos" "10.7" "10.7" "/tmp/rustcmRdv6R/symbols.o" "/home/qyriad/code/hello/target/x8664-apple-darwin/debug/deps/hello-" "/home/qyriad/code/hello/target/x8664-apple-darwin/debug/deps/hello-" "/home/qyriad/code/hello/target/x8664-apple-darwin/debug/deps/hello-" "/home/qyriad/code/hello/target/x8664-apple-darwin/debug/deps/hello-" "/home/qyriad/code/hello/target/x8664-apple-darwin/debug/deps/hello-" "/home/qyriad/code/hello/target/x8664-apple-darwin/debug/deps/hello-" "/home/qyriad/code/hello/target/x8664-apple-darwin/debug/deps/hello-" "-L" "/home/qyriad/code/hello/target/x8664-apple-darwin/debug/deps" "-L" "/home/qyriad/code/hello/target/debug/deps" "-L" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "-lSystem" "-lc" "-lm" "-syslibroot" "/usr" "-L" "" "-o" "/home/qyriad/code/hello/target/x8664-apple-darwin/debug/deps/hello-" "-deadstrip" = note: error: library not found for -lSystem error: library not found for -lc error: library not found for -lm error: undefined symbol: UnwindResume referenced by ()

/home/qyriad/code/hello/target/x8664-apple-darwin/debug/deps/hello-(symbol ZN4core3ops8function6FnOnce9callonce17hf4bc1fd436eb6a1eE+0x1f) referenced by () (std-):(symbol ZN4core3ops8function6FnOnce40callonceu7bu7d$17hb84e30cb55012ce5E+0x80) referenced by () (std-):(symbol ZN4core3ptr104dropinplaceLTusizeRPGT$17hed3f267c6b45955bE+0xd1) referenced 89 more times error: undefined symbol: memcpy referenced by () (std-):(symbol ZN4core3fmt5Write10writechar17hdfc69d6746a59f51E+0xd4) referenced by () (std-):(symbol ZN50RFu20u20u2010writechar17h93a4c2621e683652E+0xe5) referenced by () (std-):(symbol ZN50RFu20u20u209writestr17h37febf5394bdf526E+0x38) referenced 82 more times error: undefined symbol: UnwindGetTextRelBase referenced by () (std-):(symbol ZN4core3ops8function6FnOnce40callonceu7bu7d$17h8d16de3fdc0c0a05E+0xc) referenced by () (std-):(symbol ZN3std11personality3gcc14findehaction28u7bu7d17hebef1726d888f975E+0xc) error: undefined symbol: UnwindGetDataRelBase referenced by () (std-):(symbol ZN4core3ops8function6FnOnce40callonceu7bu7d$17hb69dca3e57cf94bbE+0xc) referenced by () (std-):(symbol ZN3std11personality3gcc14findehaction28u7bu7d17hbca95bb609e12226E+0xc) error: undefined symbol: pthreadmutexunlock referenced by () (std-):(symbol ZN4core3ptr175dropinplacestd.syscommon.remutex.

ReentrantMutexGuardLTGTGT17h7737580f0f37fcd6E+0x2e) referenced by () (std-):(symbol ZN4core3ptr175dropinplacestd.syscommon.remutex.ReentrantMutexGuardLTGTGT17h7737580f0f37fcd6E+0x20) referenced by () (std-):(symbol ZN4core3ptr46dropinplaceGT$17hf0f24132fd49ff9eE+0x43) referenced 7 more times error: undefined symbol: munmap referenced by () (std-):(symbol ZN4core3ptr65dropinplaceGT$17hf85f5ce9a3e31452E+0xce) referenced by () (std-):(symbol ZN4core3ptr65dropinplaceGT$17hf85f5ce9a3e31452E+0x31) referenced by () (std-):(symbol ZN4core3ptr68dropinplaceGT$17hc7e97f0fcf430b3cE+0x6) referenced 6 more times error: undefined symbol: pthreadrwlockunlock referenced by () (std-):(symbol ZN4core3ptr71dropinplaceLTRPGT$17hd1e2d6a084e6fddbE+0x33) referenced by () (std-):(symbol ZN4core3ptr71dropinplaceLTRPGT$17hd1e2d6a084e6fddbE+0x1a) referenced by () (std-):(symbol ZN3std3env7varos17h3777805ff41a36e7E+0xab) referenced 3 more times error: undefined symbol: pthreadmutexdestroy referenced by () (std-):(symbol ZN4core3ptr73dropinplaceGT$17hd8239a4ac87360b9E+0x6) referenced by () (std-):(symbol ZN4core3ptr98dropinplaceLTGT$17hb027e78f6c4c6db8E+0xd) referenced by () (std-):(symbol ZN5alloc4sync12ArcT9dropslow17h1dfce2778cdf5d36E+0x6f) referenced 1 more times error:

undefined symbol: pthreadmutexattrdestroy referenced by () (std-):(symbol ZN4core3ptr75dropinplaceGT$17hca493304f47198a7E+0x6) referenced by () (std-):(symbol ZN108u20u20GT$4init17ha3b0898f5c42f4f6E+0xdc) error: undefined symbol: pthreadrwlockdestroy referenced by () (std-):(symbol ZN4core3ptr75dropinplaceGT$17h7c423d2bc244a6ffE+0x6) referenced by () (std-):(symbol ZN3std10syscommon8lazybox16LazyBoxT10initialize17h760b822df99198c6E+0x70) error: undefined symbol: memmove referenced by () (std-):(symbol ZN4core3ptr90dropinplaceLTGTGT$17hcdc9da9cacd190baE+0x36) referenced by () (std-):(symbol ZN9addr2line16ContextR11findframes17he44479834bec168fE+0x269f) referenced by () (std-):(symbol ZN9addr2line16ContextR11findframes17he44479834bec168fE+0x1223) referenced 18 more times error: undefined symbol: memcmp referenced by () (std-):(symbol ZN4core5slice4sort12choosepivot28u7bu7d17h1db2e1cfbb6463b0E+0x13e) referenced by () (std-):(symbol ZN4core5slice4sort12choosepivot28u7bu7d17h1db2e1cfbb6463b0E+0xda) referenced by () (std-):(symbol ZN4core5slice4sort12choosepivot28u7bu7d17h1db2e1cfbb6463b0E+0x5a) referenced 31 more times error: undefined symbol: pthreadmutextrylock referenced by () (std-):(symbol ZN5alloc4sync12ArcT9dropslow17h1dfce2778cdf5d36E+0x17) referenced by () (std-):(symbol

ZN3std4sync4once4Once9callonce28u7bu7d17h9c07188eab35bf0eE+0x1c2) referenced by () (std-):(symbol ZN3std4sync4once4Once9callonce28u7bu7d17h9c07188eab35bf0eE+0x7f) error: undefined symbol: dispatchrelease referenced by () (std-):(symbol ZN5alloc4sync12ArcT9dropslow17ha7ab73c110de5a07E+0x31) error: undefined symbol: abort referenced by () (std-):(symbol ZN3std2rt19langstartinternal17hd56d2fa7efb2dd60E+0x570) referenced by () (std-):(symbol ZN3std3sys4unix14abortinternal17ha17a3eb079646e02E+0x5) error: undefined symbol: error referenced by () (std-):(symbol ZN3std2rt19langstartinternal17hd56d2fa7efb2dd60E+0x3a3) referenced by () (std-):(symbol ZN3std2rt19langstartinternal17hd56d2fa7efb2dd60E+0x334) referenced by () (std-):(symbol ZN3std2rt19langstartinternal17hd56d2fa7efb2dd60E+0xb5) referenced 19 more times error: undefined symbol: mprotect referenced by () (std-):(symbol ZN3std2rt19langstartinternal17hd56d2fa7efb2dd60E+0x256) referenced by () (std-):(symbol ZN3std3sys4unix14stackoverflow3imp12makehandler17h50336235e5e30f96E+0x85) error: too many errors emitted, stopping now (use --error-limit=0 to see all errors) </detailsOn Rust 1.66.0, it simply emits the (non-internal) error: , which makes sense. I imagine this would also happen on non-cross builds targeting macOS if isn't available and isn't set.

<!-- TRIAGEBOTSTART --<!-- TRIAGEBOTASSIGNSTART --<!-- TRIAGEBOTASSIGNDATASTARTTRIAGEBOTASSIGNDATAEND --<!-- TRIAGEBOTASSIGNEND --<!-- TRIAGEBOT_END --
label regression-from-stable-to-stable O-macos A-cross A-linkage
This is an issue with a buggy translation message: This should be , not .
This is fixed as part of
assign