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>
14 lines
493 B
Rust
14 lines
493 B
Rust
// `impl From<Box<str>> for String` (alloc/src/string.rs), so `Box<str>: Into<String>`:
|
|
// pulldown-cmark strings.rs `CowStr::Boxed(s) => s.into()`.
|
|
#[test]
|
|
fn box_str_into_string() {
|
|
let b: Box<str> = "hello".into();
|
|
let s: String = b.into();
|
|
assert_eq!(s, "hello");
|
|
let b: Box<str> = Box::from("");
|
|
assert_eq!(String::from(b), "");
|
|
let b: Box<str> = String::from("abc").into_boxed_str();
|
|
let mut s = String::from(b);
|
|
s.push('d');
|
|
assert_eq!(s, "abcd");
|
|
}
|