ChanServ changed the topic of #rust-embedded to: Welcome to the Rust Embedded IRC channel! Bridged to #rust-embedded:matrix.org and logged at https://libera.irclog.whitequark.org/rust-embedded, code of conduct at https://www.rust-lang.org/conduct.html
IlPalazzo-ojiisa has quit [Quit: Leaving.]
fabic has joined #rust-embedded
fabic has quit [Ping timeout: 260 seconds]
fabic has joined #rust-embedded
starblue has quit [Ping timeout: 246 seconds]
starblue has joined #rust-embedded
rardiol has quit [Ping timeout: 252 seconds]
m5zs7k has quit [Ping timeout: 268 seconds]
m5zs7k has joined #rust-embedded
lehmrob has joined #rust-embedded
m5zs7k has quit [Ping timeout: 260 seconds]
m5zs7k has joined #rust-embedded
m5zs7k has quit [Ping timeout: 256 seconds]
m5zs7k has joined #rust-embedded
lehmrob has quit [Ping timeout: 256 seconds]
fabic has quit [Ping timeout: 252 seconds]
<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> Press release seems to be from two days ago: https://www.presseagentur.com/hightec/detail.php?pr_id=6561&lang=en
<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" ๐Ÿ˜…
Almindor has joined #rust-embedded
Almindor has left #rust-embedded [#rust-embedded]
<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.
<cr1901> jamesmunns: I've done it! https://github.com/cr1901/postcard-infomem/blob/main/src/seq.rs#L174-L209 Sequential postcard processing with deferred user payload
<re_irc> <@jamesmunns:beeper.com> Noice!
<re_irc> <@jamesmunns:beeper.com> cr1901: re https://github.com/cr1901/postcard-infomem/blob/main/src/seq.rs#L49 - I can explain that if you'd like
<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]
IlPalazzo-ojiisa has quit [Quit: Leaving.]