logoalt Hacker News

j-kriegeryesterday at 9:53 PM1 replyview on HN

I also hit a funny compiler end-of-the road last month when I wanted to try out generic_const_exprs for my RFC8366 implementation:

  pub struct VoucherDetails<C>
    where
      C: CapacityConfig,
      [(); C::SERIAL_NUMBER_MAX]:,
      [(); C::MANUFACTURER_PRIVATE_MAX]:,
      [(); C::IDEVID_ISSUER_MAX]:,
      // <imagine a dozen more properties here>
      [(); C::NONCE_B64_MAX]:,
  { ... }
The heavy const eval + trait resolution was too much even for my M2 Pro.

Replies

amlutoyesterday at 11:43 PM

Nice.

You inspired me to look up RFC8366. That's a remarkable document, apparently written in English, where at least the abstract and introduction look like they might be the result of a particularly nerdy game of Mad-Libs. :)

I, personally, have never observed a pledge doing anything other than being heard, although I observed Lemon Pledge smelling unpleasant. But, in RFC8366, pledges can join domains!

(I assume that a manufacturer makes a device and the device somehow contains a "pledge" from the manufacturer that the device is what it says it is...)