Skip to content

index out of bound in slice not caught at compilation #38035

Open
@aybabtme

Description

@aybabtme

Hi! I'm just learning Rust! I saw this odd behavior, where the compiler will nicely tell me that an index in an array is impossible at compile time, but won't tell me that an index in a slice of known size is also impossible.

I thought I'd share.

This fails at compile time:

let y = [1];
println!("y={}", y[1]); 

This fails at runtime:

let y = [1];
println!("y={}", &y[0..1][1]); 

Would be cool if &y[0..1][1] also failed at compile time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-diagnosticsArea: Messages for errors, warnings, and lintsA-mir-optArea: MIR optimizationsC-feature-requestCategory: A feature request, i.e: not implemented / a PR.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions