-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Add more regression tests #69192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add more regression tests #69192
Changes from all commits
6351bfd
f32447d
ecb8bf0
426dcf0
9478503
2f39ec2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
// Regression test for #63952, shouldn't hang. | ||
|
||
use std::usize; | ||
|
||
#[repr(C)] | ||
#[derive(Copy, Clone)] | ||
struct SliceRepr { | ||
ptr: *const u8, | ||
len: usize, | ||
} | ||
|
||
union SliceTransmute { | ||
repr: SliceRepr, | ||
slice: &'static [u8], | ||
} | ||
|
||
// bad slice: length too big to even exist anywhere | ||
const SLICE_WAY_TOO_LONG: &[u8] = unsafe { //~ ERROR: it is undefined behavior to use this value | ||
SliceTransmute { | ||
repr: SliceRepr { | ||
ptr: &42, | ||
len: usize::MAX, | ||
}, | ||
} | ||
.slice | ||
}; | ||
|
||
fn main() {} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
error[E0080]: it is undefined behavior to use this value | ||
--> $DIR/issue-63952.rs:18:1 | ||
| | ||
LL | / const SLICE_WAY_TOO_LONG: &[u8] = unsafe { | ||
LL | | SliceTransmute { | ||
LL | | repr: SliceRepr { | ||
LL | | ptr: &42, | ||
... | | ||
LL | | .slice | ||
LL | | }; | ||
| |__^ invalid slice: total size is bigger than largest supported object | ||
| | ||
= note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior. | ||
|
||
error: aborting due to previous error | ||
|
||
For more information about this error, try `rustc --explain E0080`. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
// A regression test for #68653, which was fixed by #68938. | ||
|
||
// check-pass | ||
|
||
#![allow(incomplete_features)] | ||
#![feature(generic_associated_types)] | ||
|
||
trait Fun { | ||
type F<'a: 'a>; | ||
} | ||
|
||
impl <T> Fun for T { | ||
type F<'a> = Self; | ||
} | ||
|
||
fn main() {} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#![crate_type = "lib"] | ||
|
||
pub fn vec() -> Vec<u8> { vec![] } |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
// edition:2018 | ||
// aux-build:issue-51798.rs | ||
// check-pass | ||
|
||
extern crate issue_51798; | ||
|
||
mod server { | ||
fn f() { | ||
let mut v = issue_51798::vec(); | ||
v.clear(); | ||
} | ||
} | ||
|
||
fn main() {} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
// Regression test for #62894, shouldn't crash. | ||
// error-pattern: this file contains an unclosed delimiter | ||
// error-pattern: expected one of `(`, `[`, or `{`, found keyword `fn` | ||
|
||
fn f() { assert_eq!(f(), (), assert_eq!(assert_eq! | ||
|
||
fn main() {} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
error: this file contains an unclosed delimiter | ||
--> $DIR/issue-62894.rs:7:14 | ||
| | ||
LL | fn f() { assert_eq!(f(), (), assert_eq!(assert_eq! | ||
| - - - unclosed delimiter | ||
| | | | ||
| | unclosed delimiter | ||
| unclosed delimiter | ||
LL | | ||
LL | fn main() {} | ||
| ^ | ||
|
||
error: this file contains an unclosed delimiter | ||
--> $DIR/issue-62894.rs:7:14 | ||
| | ||
LL | fn f() { assert_eq!(f(), (), assert_eq!(assert_eq! | ||
| - - - unclosed delimiter | ||
| | | | ||
| | unclosed delimiter | ||
| unclosed delimiter | ||
LL | | ||
LL | fn main() {} | ||
| ^ | ||
|
||
error: this file contains an unclosed delimiter | ||
--> $DIR/issue-62894.rs:7:14 | ||
| | ||
LL | fn f() { assert_eq!(f(), (), assert_eq!(assert_eq! | ||
| - - - unclosed delimiter | ||
| | | | ||
| | unclosed delimiter | ||
| unclosed delimiter | ||
LL | | ||
LL | fn main() {} | ||
| ^ | ||
|
||
error: expected one of `(`, `[`, or `{`, found keyword `fn` | ||
--> $DIR/issue-62894.rs:7:1 | ||
| | ||
LL | fn f() { assert_eq!(f(), (), assert_eq!(assert_eq! | ||
| - expected one of `(`, `[`, or `{` | ||
LL | | ||
LL | fn main() {} | ||
| ^^ unexpected token | ||
|
||
error: aborting due to 4 previous errors | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
// Regression test for #39618, shouldn't crash. | ||
// FIXME(JohnTitor): Centril pointed out this looks suspicions, we should revisit here. | ||
// More context: https://github.com/rust-lang/rust/pull/69192#discussion_r379846796 | ||
|
||
// check-pass | ||
|
||
#![feature(specialization)] | ||
|
||
trait Foo { | ||
fn foo(&self); | ||
} | ||
|
||
trait Bar { | ||
fn bar(&self); | ||
} | ||
|
||
impl<T> Bar for T where T: Foo { | ||
fn bar(&self) {} | ||
} | ||
|
||
impl<T> Foo for T where T: Bar { | ||
fn foo(&self) {} | ||
} | ||
|
||
impl Foo for u64 {} | ||
Comment on lines
+17
to
+25
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This looks suspicions... There's no cc @jonas-schievink (I thought this had been fixed?) |
||
|
||
fn main() {} |
Uh oh!
There was an error while loading. Please reload this page.