The raylib half of the sweep, and the let the note named
This commit is contained in:
parent
3b91afd47b
commit
b34a7bbf11
6
FIX.org
6
FIX.org
@ -2629,6 +2629,12 @@ what was true when they were written.
|
||||
pure addition: widening.flan's own rows. Not one existing program's
|
||||
diagnostics, output or exit status moved.
|
||||
|
||||
The thirteen test programs that import ~vendor:raylib~ were not run either,
|
||||
for the same reason, and got the same treatment as examples/ below:
|
||||
~check~'s diagnostics are identical on both sides, LLVM ~emit~ is
|
||||
byte-identical, and the x86 difference is the prelude-line strings and
|
||||
nothing else.
|
||||
|
||||
examples/ were *not run*. They link raylib and every one of them opens a
|
||||
real window on the author's desktop, so the comparison there is ~check~'s
|
||||
exit status and diagnostics plus a byte-diff of ~emit~ and ~emit --x86~.
|
||||
|
||||
@ -1003,6 +1003,12 @@ let () =
|
||||
arithmetic at u64 rather than defaulting the 1 to an i32. *)
|
||||
accepts "a literal still takes the other operand's type"
|
||||
"(defconst fnv u64 14695981039346656037) (defn f [] u64 (+ fnv 1))";
|
||||
(* The form DISCUSS.org's note named: an unannotated let of a u64 constant.
|
||||
It binds a u64 and nothing about widening reaches it — a let with no type
|
||||
has no expectation to widen against, and the constant is what it says. *)
|
||||
accepts "an unannotated let of a u64 constant still binds a u64"
|
||||
"(defconst fnv u64 14695981039346656037) \
|
||||
(defn f [] u64 (let [h fnv] (* h 2)))";
|
||||
(* Shifts are the carve-out: the value's type decides and the count widens
|
||||
to it, never the reverse, because the result's width and the poison check
|
||||
both belong to the value. *)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user