Auto merge of #28957 - GuillaumeGomez:patch-5, r=Manishearth
cc @nagisa
This commit is contained in:
commit
beeaea4a70
@ -82,7 +82,7 @@ unsafe {
|
||||
with:
|
||||
|
||||
```text
|
||||
error: transmute called on types with different sizes: [u8; 4] (32 bits) to u64
|
||||
error: transmute called with differently sized types: [u8; 4] (32 bits) to u64
|
||||
(64 bits)
|
||||
```
|
||||
|
||||
|
@ -135,7 +135,7 @@ pub fn check_intrinsics(ccx: &CrateContext) {
|
||||
|
||||
if transmute_restriction.original_from != transmute_restriction.substituted_from {
|
||||
span_transmute_size_error(ccx.sess(), transmute_restriction.span,
|
||||
&format!("transmute called on types with potentially different sizes: \
|
||||
&format!("transmute called with differently sized types: \
|
||||
{} (could be {} bit{}) to {} (could be {} bit{})",
|
||||
transmute_restriction.original_from,
|
||||
from_type_size as usize,
|
||||
@ -145,7 +145,7 @@ pub fn check_intrinsics(ccx: &CrateContext) {
|
||||
if to_type_size == 1 {""} else {"s"}));
|
||||
} else {
|
||||
span_transmute_size_error(ccx.sess(), transmute_restriction.span,
|
||||
&format!("transmute called on types with different sizes: \
|
||||
&format!("transmute called with differently sized types: \
|
||||
{} ({} bit{}) to {} ({} bit{})",
|
||||
transmute_restriction.original_from,
|
||||
from_type_size as usize,
|
||||
|
@ -13,7 +13,7 @@
|
||||
// the error points to the start of the file, not the line with the
|
||||
// transmute
|
||||
|
||||
// error-pattern: transmute called on types with different size
|
||||
// error-pattern: transmute called with differently sized types
|
||||
|
||||
use std::mem;
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
// the error points to the start of the file, not the line with the
|
||||
// transmute
|
||||
|
||||
// error-pattern: transmute called on types with different size
|
||||
// error-pattern: transmute called with differently sized types
|
||||
|
||||
use std::mem;
|
||||
|
||||
|
@ -16,12 +16,12 @@ use std::mem::transmute;
|
||||
|
||||
unsafe fn f() {
|
||||
let _: i8 = transmute(16i16);
|
||||
//~^ ERROR transmute called on types with different sizes
|
||||
//~^ ERROR transmute called with differently sized types
|
||||
}
|
||||
|
||||
unsafe fn g<T>(x: &T) {
|
||||
let _: i8 = transmute(x);
|
||||
//~^ ERROR transmute called on types with potentially different sizes
|
||||
//~^ ERROR transmute called with differently sized types
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
|
@ -15,11 +15,11 @@
|
||||
use std::mem::transmute;
|
||||
|
||||
fn a<T, U: ?Sized>(x: &[T]) -> &U {
|
||||
unsafe { transmute(x) } //~ ERROR transmute called on types with potentially different sizes
|
||||
unsafe { transmute(x) } //~ ERROR transmute called with differently sized types
|
||||
}
|
||||
|
||||
fn b<T: ?Sized, U: ?Sized>(x: &T) -> &U {
|
||||
unsafe { transmute(x) } //~ ERROR transmute called on types with potentially different sizes
|
||||
unsafe { transmute(x) } //~ ERROR transmute called with differently sized types
|
||||
}
|
||||
|
||||
fn c<T, U>(x: &T) -> &U {
|
||||
@ -31,11 +31,11 @@ fn d<T, U>(x: &[T]) -> &[U] {
|
||||
}
|
||||
|
||||
fn e<T: ?Sized, U>(x: &T) -> &U {
|
||||
unsafe { transmute(x) } //~ ERROR transmute called on types with potentially different sizes
|
||||
unsafe { transmute(x) } //~ ERROR transmute called with differently sized types
|
||||
}
|
||||
|
||||
fn f<T, U: ?Sized>(x: &T) -> &U {
|
||||
unsafe { transmute(x) } //~ ERROR transmute called on types with potentially different sizes
|
||||
unsafe { transmute(x) } //~ ERROR transmute called with differently sized types
|
||||
}
|
||||
|
||||
fn main() { }
|
||||
|
@ -26,7 +26,7 @@ impl<T: ?Sized> Foo<T> {
|
||||
|
||||
fn n(x: &T) -> &isize {
|
||||
// Not OK here, because T : Sized is not in scope.
|
||||
unsafe { transmute(x) } //~ ERROR transmute called on types with potentially different sizes
|
||||
unsafe { transmute(x) } //~ ERROR transmute called with differently sized types
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user