|  | //! Test format! macro functionality in no_std environment | 
|  |  | 
|  | //@ run-pass | 
|  | //@ ignore-emscripten no no_std executables | 
|  | //@ ignore-wasm different `main` convention | 
|  |  | 
|  | #![feature(lang_items)] | 
|  | #![no_std] | 
|  | #![no_main] | 
|  |  | 
|  | // Import global allocator and panic handler. | 
|  | extern crate std as other; | 
|  |  | 
|  | #[macro_use] | 
|  | extern crate alloc; | 
|  |  | 
|  | use alloc::string::ToString; | 
|  |  | 
|  | #[no_mangle] | 
|  | extern "C" fn main(_argc: core::ffi::c_int, _argv: *const *const u8) -> core::ffi::c_int { | 
|  | let s = format!("{}", 1_isize); | 
|  | assert_eq!(s, "1".to_string()); | 
|  |  | 
|  | let s = format!("test"); | 
|  | assert_eq!(s, "test".to_string()); | 
|  |  | 
|  | let s = format!("{test}", test = 3_isize); | 
|  | assert_eq!(s, "3".to_string()); | 
|  |  | 
|  | let s = format!("hello {}", "world"); | 
|  | assert_eq!(s, "hello world".to_string()); | 
|  |  | 
|  | 0 | 
|  | } |