Reduz optimized field indexing in 3c85703 but the changes didn't apply to dictionary so this code remained untouched. However, the logic for validity checking was changed but not updated for the dictionary case.
@@ -1519,7 +1519,7 @@ void Variant::set_named(const StringName &p_index, const Variant &p_value, bool
} break;
default: {
- set(p_index.operator String(), p_value, r_valid);
+ set(p_index.operator String(), p_value, &valid);
}