feat: align M3 slices and strings with v0.1.7
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
unit m3_bad_mut_let;
|
||||
|
||||
fn bad() -> void {
|
||||
var raw: [2]u8 = [1, 2];
|
||||
let s: []mut u8 = raw[..];
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
unit m3_bad_shared_write;
|
||||
|
||||
fn bad(s: []u8) -> void {
|
||||
s[0] = 1;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
unit m3_mutable;
|
||||
|
||||
fn takes_shared(s: []u8) -> u8 { return s[0]; }
|
||||
|
||||
fn main() -> i32 {
|
||||
var raw: [3]u8 = [1, 2, 3];
|
||||
var s: []mut u8 = raw[..];
|
||||
s[1] = 9;
|
||||
if takes_shared(s) == 1 and raw[1] == 9 { return 0; }
|
||||
return 1;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
unit m3_slice_bounds;
|
||||
|
||||
fn main() -> i32 {
|
||||
let a: [2]i32 = [1, 2];
|
||||
let s: []i32 = a[0..3];
|
||||
return s.n as i32;
|
||||
}
|
||||
Reference in New Issue
Block a user