table: make mut/not mut aggregate fields equal (for read only access)

pull/6694/head
Delyan Angelov 2020-10-28 08:43:18 +02:00
parent 0c987f433d
commit 7fb739ebcf
1 changed files with 5 additions and 2 deletions

View File

@ -760,9 +760,12 @@ pub mut:
}
fn (f &Field) equals(o &Field) bool {
// TODO: should all of those be checked ?
// TODO: f.is_mut == o.is_mut was removed here to allow read only access
// to (mut/not mut), but otherwise equal fields; some other new checks are needed:
// - if node is declared mut, and we mutate node.stmts, all stmts fields must be mutable
// - same goes for pub and global, if we call the field from another module
return f.name == o.name &&
f.typ == o.typ && f.is_pub == o.is_pub && f.is_mut == o.is_mut && f.is_global == o.is_global
f.typ == o.typ && f.is_pub == o.is_pub && f.is_global == o.is_global
}
pub struct Array {