<re_irc>
<@nihal.pasham:matrix.org> this just popped up in my reading list - https://hightec-rt.com/en/products/rust.. not sure if this is a recent development or its been out for a while. Does anyone happen to know more about their (new) compiler.
<re_irc>
<@jamesmunns:beeper.com> > โThe topic of Rust compatibility has been a frequent point of discussion in recent engagements with AURIX customersโ, said Ralf Koedel, Vice President Microcontroller at Infineon
<re_irc>
๐๐๐
<re_irc>
<@jamesmunns:beeper.com> > type-state API
<re_irc>
made it into the marketing copy :D
lehmrob has joined #rust-embedded
lehmrob has quit [Ping timeout: 264 seconds]
fabic has joined #rust-embedded
dc740 has joined #rust-embedded
fabic has quit [Ping timeout: 260 seconds]
dc740 has quit [Remote host closed the connection]
fabic has joined #rust-embedded
<re_irc>
<@halfbit:matrix.org> supporting tricore and aurix is really quite something
<re_irc>
<@adamgreig:matrix.org> I look forward to the unreproducible library bug reports :p
<re_irc>
<@adamgreig:matrix.org> Presumably it's rustc on top of their own llvm platform support and a custom target and some crates?
<re_irc>
<@halfbit:matrix.org> most likely
rardiol has joined #rust-embedded
starblue has quit [Ping timeout: 248 seconds]
starblue has joined #rust-embedded
IlPalazzo-ojiisa has joined #rust-embedded
dc740 has joined #rust-embedded
fabic has quit [Ping timeout: 252 seconds]
xnor has quit [Ping timeout: 268 seconds]
xnor has joined #rust-embedded
Foxyloxy has quit [Ping timeout: 252 seconds]
Foxyloxy has joined #rust-embedded
a2800276 has quit [Ping timeout: 256 seconds]
rektide_ has quit [*.net *.split]
wose has quit [*.net *.split]
a2800276 has joined #rust-embedded
wose has joined #rust-embedded
rektide_ has joined #rust-embedded
a2800276 has quit [Ping timeout: 256 seconds]
a2800276 has joined #rust-embedded
fabic has joined #rust-embedded
Foxyloxy_ has joined #rust-embedded
Foxyloxy has quit [Ping timeout: 260 seconds]
fabic has quit [Ping timeout: 248 seconds]
fabic has joined #rust-embedded
<re_irc>
<@jamesmunns:beeper.com> Even the proprietary armcc (or whatever it is called these days) is llvm based, seen other proprietary toolchains based on (sometimes archaic, not always tho) versions of llvm.
<re_irc>
<@jamesmunns:beeper.com> In safety critical, KNOWN defects (like against older llvm versions) aren't that terrible of a problem, as long as you can detect when affected, or say things like "you must do a code review that checks you never do X while doing Y".
<re_irc>
<@adamgreig:matrix.org> The llvm based one is called armclang, armcc is the version before they used llvm aiuu
<re_irc>
<@adamgreig:matrix.org> * aiui
<re_irc>
<@jamesmunns:beeper.com> I used a c89 armcc "back in the day" ๐
<re_irc>
<@almindor:matrix.org> ah heh, didn't realize this is bridged to irc :D
<cr1901>
jamesmunns: Your idea for Infomem to supply a generic slice/vec to represent the user-payload that needs to further be deserialized was a great one. 1/2
<cr1901>
However, I think I'm stuck now and could use some help if you're up for it. Maybe postcard has something to help that I haven't seen yet
<cr1901>
Nevermind... I figured it out
<cr1901>
(yes, postcard does have something to help)
inara` has quit [Quit: Leaving]
inara has joined #rust-embedded
inara` has joined #rust-embedded
inara has quit [Ping timeout: 264 seconds]
fabic has quit [Ping timeout: 255 seconds]
<re_irc>
<@almindor:matrix.org> hmm is it possible to have a "&[&str]" out of a "Enum { Something(Struct { field1: String, field2: String ) }" without any allocation? e.g. I essentially want "&[&struct.field1, &struct.field2]" but it seems Rust needs the slice to live somewhere...
<re_irc>
<@almindor:matrix.org> seems like there really is no reason for allocations here given we're essentially just referencing the fields
<re_irc>
<@k900:0upti.me> You need an allocation for the slice itself
<re_irc>
<@k900:0upti.me> You can make it a "[&str; 2]"
<re_irc>
<@k900:0upti.me> That way it'll be a known fixed size
<re_irc>
<@almindor:matrix.org> hmm I guess that'll work, it's just coz of a simpleton interface I'm forced into that doesn't accept IntoIter or anything but just a &[]
<re_irc>
<@jamesmunns:beeper.com> : Yep, &[&str] is what gets harder
<re_irc>
<@jamesmunns:beeper.com> (a slice with an unknown number of references on it)
<re_irc>
<@mbrossard:matrix.org> : armcc and armclang are also sometimes referred to respectively ARMC5 and ARMC6.
<re_irc>
<@almindor:matrix.org> it's also a problem if there's change in size, e.g. imagine that enum having 2 variants with different count of fields
<re_irc>
<@jamesmunns:beeper.com> Yup, the hard part is "where does the "[&str]" live if not in a Vec?
<re_irc>
<@almindor:matrix.org> I guess I could unwrap "one layer up" and have the structs provide a function each
<re_irc>
<@jamesmunns:beeper.com> (you can use a heapless vec for this
<re_irc>
<@jamesmunns:beeper.com> * this)
<re_irc>
<@jamesmunns:beeper.com> Yup, the hard part is "where does the "[&str]" live if not in a Vec"?
<re_irc>
<@jamesmunns:beeper.com> Or - like you said, find some way for it not to be an unbounded slice of slices.
<re_irc>
<@jamesmunns:beeper.com> But basically, "take" is a clean steal of a buffer of a given lifetime (replacing it with &[]), where just subslicing would make a temporary lifetime shorter than 'a, which you can't put back in the 'a-shaped hole.
rardiol has quit [Ping timeout: 264 seconds]
<re_irc>
<@jamesmunns:beeper.com> (that's simplifying a bit, but can explain more with some examples if you/anyone wants. I've run into "this shaped problem" a couple times in postcard and bbqueue before, i had to have smarter people like simonsapin explain it to me the first time :D)
rardiol has joined #rust-embedded
dc740 has quit [Remote host closed the connection]