LINUX.ORG.RU

История изменений

Исправление javascript, (текущая версия) :

Потому что это не переопределение, а затенение.

let x = 10;
let y = |v| v + x;
let x = 20;
let z = |v| v + x;
println!("{} {}", y(0), z(0)); // 10 20
let x = 0;
let y = &x; 
let x = 1;
let z = &x; 

assert_eq!(*y, 0); // ok
assert_eq!(*z, 1); // ok

Исходная версия javascript, :

Потому что это не переопределение, а затенение.

let x = 10;
let y = |v| v + x;
let x = 20;
let z = |v| v + x;
println!("{} {}", y(0), z(0));
let x = 0;
let y = &x; 
let x = 1;
let z = &x; 

assert_eq!(*y, 0);
assert_eq!(*z, 1);