syntax: make deriving have slightly less cryptic error messages.

This unfortunately changes an error like

    error: mismatched types: expected `&&NotClone` but found `&NotClone`

into

    error: type `NotClone` does not implement any method in scope named `clone`
This commit is contained in:
Huon Wilson 2014-01-28 00:20:50 +11:00
parent b0280ac538
commit cb02a37042
17 changed files with 56 additions and 23 deletions

View file

@ -118,7 +118,7 @@ traits = {
for (trait, supers, errs) in [('Rand', [], 1),
('Clone', [], 1), ('DeepClone', ['Clone'], 1),
('Eq', [], 2), ('Ord', [], 8),
('TotalEq', [], 2), ('TotalOrd', ['TotalEq'], 2)]:
('TotalEq', [], 1), ('TotalOrd', ['TotalEq'], 1)]:
traits[trait] = (ALL, supers, errs)
for (trait, (types, super_traits, error_count)) in traits.items():