Result: done Pushed: see commit Tests: nikaia test –both-settings –project tests/compiler 291 ok (1 new: an_extend_checks_its_element_type, NK1102); gate set 23 ok Gate: green Deviation: no contract form fits (std.contracts has no list|set|seq union), so items stays ? and the checker compares the element: check_core_call_on_extended (check_core_call_on.nika) walks the argument with element_walked and compares to the receiver’s T with fits; two numbers are skipped (literal rules). The new test was not run against a stashed compiler: the probe printed only “Checked” with nikaia check and a rustc error with run before the fix (seen before the edit). Found: std method arguments in general are not type-compared by the checker (v.push(“a”) on Vec[i64] also reaches rustc, “Mismatched types” without an NK code); only integer widening is checked in check_core_call_on_given. Needs: none (the general push/insert argument check is a possible follow-up for the architect) Changelog: extend on a list, HashSet or BTreeSet refuses elements of the wrong type with NK1102 instead of a rustc error (#963). Owner: none Disk freed: none Rs2nika: none (checker change, no move)

This site is open source. Improve this page.