Take advantage of string interning in comparisons

0125f9b7e9c690967bf6ab6272011ff550d715a7f546b22fb590269b22771b14
Alexis Sellier committed ago 1 parent 9de503ed
lib/std/lang/resolver.rad +2 -2
4896 4896
            else panic "resolveRecordLit: expected labeled field";
4897 4897
        let fieldName = try nodeName(self, label);
4898 4898
        let expected = recordType.fields[idx];
4899 4899
        let expectedName = expected.name else panic;
4900 4900
4901 -
        if not mem::eq(fieldName, expectedName) {
4901 +
        if fieldName != expectedName {
4902 4902
            throw emitError(self, fieldNode, ErrorKind::RecordFieldOutOfOrder {
4903 4903
                field: fieldName,
4904 4904
                prev: expectedName,
4905 4905
            });
4906 4906
        }
4953 4953
            else panic "resolveAnonRecordLit: expected labeled field";
4954 4954
        let fieldName = try nodeName(self, label);
4955 4955
        let expected = targetInfo.fields[idx];
4956 4956
        let expectedName = expected.name else panic;
4957 4957
4958 -
        if not mem::eq(fieldName, expectedName) {
4958 +
        if fieldName != expectedName {
4959 4959
            throw emitError(self, fieldNode, ErrorKind::RecordFieldOutOfOrder {
4960 4960
                field: fieldName,
4961 4961
                prev: expectedName,
4962 4962
            });
4963 4963
        }