The JIT that runs makepad apps from source: lexer, front end, type checker, lazy borrow checker (Gandalf; `--check-first` opts in), codegen, session and warm/cold caches keyed by compiler stamp, provided crates bound late, startup images, live patching. User-facing name is `makepad run` (binary `makepad`, MAKEPAD_RUN_* env, ~/.makepad-run); libs/relax stays the internal library name. `makepad check` reports rustc-style diagnostics with rustc error codes and checks a whole workspace (`--workspace`). Runs on macOS, Linux, Windows and Android. makepad-remote: one tool schema for apps and the WM (app/1): grabs, captures, traces, frame profiles and tweaks. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
12 lines
474 B
Rust
12 lines
474 B
Rust
#![allow(dead_code)]
|
|
trait Tr {
|
|
type T;
|
|
const N: usize = 2;
|
|
fn f(x: Self::T) -> Self::T;
|
|
fn defaulted() -> usize { Self::N }
|
|
}
|
|
struct S;
|
|
impl Tr for S { type T = i32; fn f(x: i32) -> i32 { x } }
|
|
trait Unsized { fn impossible() where Self: Sized; fn len(&self) -> usize; }
|
|
impl Unsized for str { fn len(&self) -> usize { str::len(self) } }
|
|
#[test] fn trait_items() { assert_eq!(S::f(3), 3); assert_eq!(S::defaulted(), 2); assert_eq!(Unsized::len("ok"), 2); }
|