lily,
@lily@glaceon.social avatar

the rust "impl" keywork is kinda weird.

usually, it is used to define methods, but in function arguments, it serves as syntactic sugar so you don't have to name generic types... but in a return type, it has a meaning that is slightly different, and actually expresses a semantic not even vanilla haskell can represent!

basically, instead of being able to return any type implementing a trait, it states that it can return at least one type that implements a trait.

in haskell terminology, specifying a generic type parameter is "forall a", while returning an "impl" is "exists a".

  • All
  • Subscribed
  • Moderated
  • Favorites
  • rust
  • kavyap
  • mdbf
  • khanakhh
  • tacticalgear
  • modclub
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • InstantRegret
  • Youngstown
  • osvaldo12
  • slotface
  • rosin
  • cubers
  • megavids
  • cisconetworking
  • tester
  • anitta
  • ngwrru68w68
  • everett
  • ethstaker
  • Durango
  • normalnudes
  • provamag3
  • Leos
  • GTA5RPClips
  • JUstTest
  • lostlight
  • All magazines