whatisgithub

What is dilemma?

madoshakalaka/dilemma — explained in plain English

Analysis updated 2026-07-18 · repo last pushed 2026-04-27

RustAudience · developerComplexity · 4/5MaintainedSetup · moderate

In one sentence

A working full-stack Rust demo app that exposes a real problem: rust-analyzer can't properly check code shared between a WebAssembly frontend and a server backend at the same time.

Mindmap

mindmap
  root((repo))
    What it does
      Demonstrates editor problem
      Full stack Rust app
      Shared entity crate
    Tech stack
      Rust
      WebAssembly
      Tokio
    The problem
      rust-analyzer picks one target
      Frontend or backend breaks
      No single correct view
    Audience
      Full stack Rust developers
      rust-analyzer contributors
    Workaround
      Compile halves separately
      Switch editor settings

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

See a concrete reproduction of the rust-analyzer dual-target analysis problem in a real full-stack app.

USE CASE 2

Understand why shared crates compiled differently for WebAssembly and server targets confuse code editors.

USE CASE 3

Use it as a reference case when discussing or contributing a fix to rust-analyzer's workspace analysis.

USE CASE 4

Learn how a Rust project splits a shared entity crate between browser and server-optimized data structures.

What is it built with?

RustWebAssemblyTokio

How does it compare?

madoshakalaka/dilemma0xr10t/pulsefi404-agent/codes-miner
Stars00
LanguageRustRustRust
Last pushed2026-04-27
MaintenanceMaintained
Setup difficultymoderatehardmoderate
Complexity4/54/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires compiling the frontend for WebAssembly and the backend for the server separately since rust-analyzer can't check both at once.

Copy-paste prompts

Prompt 1
Clone dilemma and show me exactly which files cause rust-analyzer to show false errors on the frontend versus backend.
Prompt 2
Explain why the entity crate in dilemma exports different types for WebAssembly versus the server target.
Prompt 3
What would it take for rust-analyzer to analyze dilemma's frontend and backend against their correct targets simultaneously?
Prompt 4
Help me set up separate compile commands for dilemma's frontend and backend so I avoid the editor error confusion.

Frequently asked questions

What is dilemma?

A working full-stack Rust demo app that exposes a real problem: rust-analyzer can't properly check code shared between a WebAssembly frontend and a server backend at the same time.

What language is dilemma written in?

Mainly Rust. The stack also includes Rust, WebAssembly, Tokio.

Is dilemma actively maintained?

Maintained — commit in last 6 months (last push 2026-04-27).

How hard is dilemma to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is dilemma for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.