3 ms·
You should take a closer look at what Diesel is doing with it's query builder. We actually do attempt to support the full power of every supported backend (of c
by rabidferret 11y ago
You should take a closer look at what Diesel is doing with it's query builder. We actually do attempt to support the full power of every supported backend (of course there's still holes which need to be filled), with proper type guarantees which map to the semantics of Postgres. The main difference being that Diesel can check your queries for correctness at compile time.
- u320 11y agoThe problem is that joins and projections give rise to new record types. The only way to support this in a type safe and natural way is if you have anonymous records in the host language, which Rust doesn't. On top of this there is some other metaprogramming stuff that is necessary in order to facilitate the DSL embedding. Look at what Microsoft did with LINQ. You can't pull that off in Rust no matter how much you want to.
- tatterdemalion 11y agoThis can be accomplished with procedural macros.
- rabidferret 11y agoThis can be accomplished without procedural macros, too. ;)
- andrewflnr 11y agoNevertheless, the goal here is to build an ORM for Rust. Why waste time describing what you think it can't do?