* Visitors are now defined on a per-type level, allowing for greater
flexibility in combining and re-using behavior
* NameId is used for namespaces, which are used to index locally scoped
variables. Syms are used for free namespaces, specifically in objects.
All NameIDs are symbols, while not all symbols are NameIDs.
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
* compile::sym is now compile::name
* add basic block structure
* add visitor pattern
* some other minor things (e.g. syn::ast::prelude)
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
* mem and obj modules are roughly divided between doing memory-specific
things and object-specific things
* Box::new_uninit() is a nightly feature and it's quite useful, so I'm
enabling that for now
* Check out src/obj/attrs.rs for possible undefined behavior in the
Attrs::new() function. I'm sure it'll be just fine.
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>