A dyn value into a written type has a checker row that compiles.

This commit is contained in:
Joseph Ferano 2026-09-26 11:52:13 +07:00
parent 6d8ced2ba3
commit ca9e28860a

View File

@ -7717,8 +7717,8 @@ let () =
"(defn f [x dyn] str (the str x))" "(defn f [x dyn] str (the str x))"
~needle:"a dyn becomes a str where a str is passed"; ~needle:"a dyn becomes a str where a str is passed";
accepts "a dyn becomes a slice, an array and a struct where passed" accepts "a dyn becomes a slice, an array and a struct where passed"
"(defstruct P [x i32]) (defn f [a [const i64] b [2 f32] c P s str] () ()) \ "(defstruct P [x i32]) (defn f [a [const i64] b [2 f32] c P s str] i64 (length a)) \
(defn g [d dyn] () (f d d d d))"; (defn g [d dyn] i64 (f d d d d))";
rejects_check "a dyn does not become an array of Vecs" rejects_check "a dyn does not become an array of Vecs"
"(defn f [d dyn] [2 (Vec i64)] d)" "(defn f [d dyn] [2 (Vec i64)] d)"
~needle:"it holds a Vec, which owns its storage"; ~needle:"it holds a Vec, which owns its storage";