Merge pull request #12695 from ethereum/less-confusing-err

Make error message less confusing
This commit is contained in:
chriseth 2022-02-28 12:36:47 +01:00 committed by GitHub
commit ca4c983973
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 25 additions and 26 deletions

View File

@ -256,10 +256,9 @@ void ViewPureChecker::reportMutability(
m_errorReporter.typeError(
8961_error,
_location,
"Function declared as " +
"Function cannot be declared as " +
stateMutabilityToString(m_currentFunction->stateMutability()) +
", but this expression (potentially) modifies the state and thus "
"requires non-payable (the default) or payable."
" because this expression (potentially) modifies the state."
);
m_errors = true;
}

View File

@ -5,4 +5,4 @@ function f() {
function g(uint[] storage x) pure { x[0] = 1; }
// ----
// Warning 2018: (0-39): Function state mutability can be restricted to pure
// TypeError 8961: (76-80): Function declared as pure, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (76-80): Function cannot be declared as pure because this expression (potentially) modifies the state.

View File

@ -4,4 +4,4 @@ contract A {
function f() public pure { x = 42; }
}
// ----
// TypeError 8961: (SourceName:53-54): Function declared as pure, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (SourceName:53-54): Function cannot be declared as pure because this expression (potentially) modifies the state.

View File

@ -8,4 +8,4 @@ contract B is A {
}
}
// ----
// TypeError 8961: (100-105): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (100-105): Function cannot be declared as view because this expression (potentially) modifies the state.

View File

@ -15,7 +15,7 @@ contract B is A {
}
}
// ----
// TypeError 8961: (107-110): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (166-171): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (107-110): Function cannot be declared as view because this expression (potentially) modifies the state.
// TypeError 8961: (166-171): Function cannot be declared as view because this expression (potentially) modifies the state.
// TypeError 2527: (244-247): Function declared as pure, but this expression (potentially) reads from the environment or state and thus requires "view".
// TypeError 2527: (244-249): Function declared as pure, but this expression (potentially) reads from the environment or state and thus requires "view".

View File

@ -12,4 +12,4 @@ contract B is A {
}
// ----
// TypeError 2527: (107-110): Function declared as pure, but this expression (potentially) reads from the environment or state and thus requires "view".
// TypeError 8961: (157-160): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (157-160): Function cannot be declared as view because this expression (potentially) modifies the state.

View File

@ -5,4 +5,4 @@ contract A {
}
}
// ----
// TypeError 8961: (88-96): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (88-96): Function cannot be declared as view because this expression (potentially) modifies the state.

View File

@ -20,8 +20,8 @@ contract C {
}
}
// ----
// TypeError 8961: (52-77): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (132-153): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (201-228): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (293-323): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (414-436): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (52-77): Function cannot be declared as view because this expression (potentially) modifies the state.
// TypeError 8961: (132-153): Function cannot be declared as view because this expression (potentially) modifies the state.
// TypeError 8961: (201-228): Function cannot be declared as view because this expression (potentially) modifies the state.
// TypeError 8961: (293-323): Function cannot be declared as view because this expression (potentially) modifies the state.
// TypeError 8961: (414-436): Function cannot be declared as view because this expression (potentially) modifies the state.

View File

@ -7,4 +7,4 @@ contract C {
}
// ----
// TypeError 2527: (56-59): Function declared as pure, but this expression (potentially) reads from the environment or state and thus requires "view".
// TypeError 8961: (130-133): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (130-133): Function cannot be declared as view because this expression (potentially) modifies the state.

View File

@ -3,4 +3,4 @@ contract C {
function f() public view { new D(); }
}
// ----
// TypeError 8961: (58-65): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (58-65): Function cannot be declared as view because this expression (potentially) modifies the state.

View File

@ -13,6 +13,6 @@ contract C {
}
}
// ----
// TypeError 8961: (92-103): Function declared as pure, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (92-103): Function cannot be declared as pure because this expression (potentially) modifies the state.
// TypeError 2527: (193-202): Function declared as pure, but this expression (potentially) reads from the environment or state and thus requires "view".
// TypeError 8961: (289-300): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (289-300): Function cannot be declared as view because this expression (potentially) modifies the state.

View File

@ -8,5 +8,5 @@ contract C {
}
}
// ----
// TypeError 8961: (90-109): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (180-197): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (90-109): Function cannot be declared as view because this expression (potentially) modifies the state.
// TypeError 8961: (180-197): Function cannot be declared as view because this expression (potentially) modifies the state.

View File

@ -12,4 +12,4 @@ contract C {
}
// ----
// TypeError 2527: (100-101): Function declared as pure, but this expression (potentially) reads from the environment or state and thus requires "view".
// TypeError 8961: (184-187): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (184-187): Function cannot be declared as view because this expression (potentially) modifies the state.

View File

@ -9,4 +9,4 @@ contract C is D {
}
// ----
// TypeError 2527: (154-162): Function declared as pure, but this expression (potentially) reads from the environment or state and thus requires "view".
// TypeError 8961: (195-209): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (195-209): Function cannot be declared as view because this expression (potentially) modifies the state.

View File

@ -8,5 +8,5 @@ contract C {
}
}
// ----
// TypeError 8961: (90-111): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (182-201): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (90-111): Function cannot be declared as view because this expression (potentially) modifies the state.
// TypeError 8961: (182-201): Function cannot be declared as view because this expression (potentially) modifies the state.

View File

@ -3,4 +3,4 @@ contract C {
function f() view public { x = 2; }
}
// ----
// TypeError 8961: (56-57): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
// TypeError 8961: (56-57): Function cannot be declared as view because this expression (potentially) modifies the state.