Skip to content

Commit

Permalink
add a test for unsized index
Browse files Browse the repository at this point in the history
  • Loading branch information
matklad committed Apr 17, 2019
1 parent e4e032a commit cc3abc4
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions src/test/ui/unsized-locals/unsized-index.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// compile-pass

// `std::ops::Index` has an `: ?Sized` bound on the `Idx` type param. This is
// an accidental left-over from the times when it `Index` was by-reference.
// Tightening the bound now could be a breaking change. Although no crater
// regression were observed (https://github.com/rust-lang/rust/pull/59527),
// let's be conservative and just add a test for this.
#![feature(unsized_locals)]

use std::ops;

pub struct A;

impl ops::Index<str> for A {
type Output = ();
fn index(&self, _: str) -> &Self::Output { panic!() }
}

impl ops::IndexMut<str> for A {
fn index_mut(&mut self, _: str) -> &mut Self::Output { panic!() }
}

fn main() {}

0 comments on commit cc3abc4

Please sign in to comment.