fn main() {
println!("Hello, World!");
}
; void main::main()
_ZN4main4main17h32d243274e2ed5edE proc near
var_30= byte ptr -30h
; __unwind {
sub rsp, 38h
lea rdi, [rsp+38h+var_30]
lea rsi, off_55EA0 ; "Hello, World!\\n"
call _ZN4core3fmt9Arguments9new_const17h88fe24479bcd08e2E ; core::fmt::Arguments::new_const
lea rdi, [rsp+38h+var_30]
call cs:_ZN3std2io5stdio6_print17h9f797bf35880e9ddE_ptr ; std::io::stdio::_print ...
add rsp, 38h
retn
; } // starts at 7AC0
_ZN4main4main17h32d243274e2ed5edE endp
example 1:
fn largest<T: PartialOrd>(list: &[T]) -> &T {
let mut largest = &list[0];
for item in list {
if item > largest {
largest = item;
}
}
largest
}
fn main() {
let number_list = vec![34, 50, 25, 100, 65];
let result = largest(&number_list);
println!("The largest number is {result}");
let char_list = vec!['y', 'm', 'a', 'q'];
let result = largest(&char_list);
println!("The largest char is {result}");
}
// Hidden C++ exception states: #wind=2
__int64 sub_140002010()
{
__int64 v0; // rax
__int64 v1; // rdx
__int64 v2; // rax
__int64 v3; // rdx
__int64 v5; // [rsp+40h] [rbp-40h]
__int64 v6; // [rsp+68h] [rbp-18h]
_BYTE v7[24]; // [rsp+70h] [rbp-10h] BYREF
__int64 v8; // [rsp+88h] [rbp+8h] BYREF
_BYTE v9[48]; // [rsp+90h] [rbp+10h] BYREF
__int128 v10; // [rsp+C0h] [rbp+40h] BYREF
__int128 v11; // [rsp+D0h] [rbp+50h] BYREF
_BYTE v12[24]; // [rsp+E0h] [rbp+60h] BYREF
__int64 v13; // [rsp+F8h] [rbp+78h] BYREF
_BYTE v14[48]; // [rsp+100h] [rbp+80h] BYREF
__int128 v15; // [rsp+130h] [rbp+B0h] BYREF
__int128 v16; // [rsp+148h] [rbp+C8h] BYREF
__int64 v17; // [rsp+158h] [rbp+D8h]
v17 = -2LL;
v6 = sub_140001810(20LL, 4LL);
if ( (v6 & 3) != 0 )
sub_140019ED8(4LL, v6, &off_14001B788);
*(_DWORD *)v6 = 34;
*(_DWORD *)(v6 + 4) = 50;
*(_DWORD *)(v6 + 8) = 25;
*(_DWORD *)(v6 + 12) = 100;
*(_DWORD *)(v6 + 16) = 65;
sub_140001A90(v7, v6, 5LL);
v0 = sub_140001D50();
v8 = largest_i32(v0, v1);
sub_1400010D0((__int64)&v11, (__int64)&v8);
v10 = v11;
sub_140001190(v9, &off_14001B7B8, &v10);
sub_1400059E0((__int64)v9);
v5 = sub_140001810(16LL, 4LL);
if ( (v5 & 3) != 0 )
sub_140019ED8(4LL, v5, &off_14001B7D8);
*(_DWORD *)v5 = 'y';
*(_DWORD *)(v5 + 4) = 'm';
*(_DWORD *)(v5 + 8) = 'a';
*(_DWORD *)(v5 + 12) = 'q';
sub_140001A70(v12, v5, 4LL);
v2 = sub_140001D60(v12);
v13 = largest_char(v2, v3);
sub_140001100(&v16, &v13);
v15 = v16;
sub_140001190(v14, &off_14001B808, &v15);
sub_1400059E0((__int64)v14);
sub_140001410(v12);
return sub_1400013C0(v7);
}