Do not error when interface is implemented by a base
Ensure the following scenario works:
1. contract b has method f1
2. contract c has b as a base and interface with f1
@@ -629,7 +629,7 @@ fn layout_contract(contract_no: usize, ns: &mut ast::Namespace) {
));
continue;
}
- } else {
+ } else if cur.has_body {
if let Some(entry) = override_needed.get_mut(&signature) {
entry.push((base_contract_no, function_no));
} else {
