Skip to content

&mut [T;N] as *mut T does not compile, but &[T;N] as *const T does #24151

Closed
@jagourq

Description

@jagourq
unsafe {
    let my_num: &[i32; 2] = &[10, 20];
    let my_num: *const i32 = my_num as *const i32; // This works.
    println!("{}", *my_num.offset(1));
}
unsafe {
    let my_num: &mut [i32; 2] = &mut [10, 20];
    // error: mismatched types:
    //  expected `*mut i32`,
    //         found `&mut [i32; 2]`
    let my_num: *mut i32 = my_num as *mut i32;
    println!("{}", *my_num.offset(1));
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-type-systemArea: Type systemC-bugCategory: This is a bug.P-lowLow priority

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions