E08080: self assignment
What went wrong
You're assigning a variable to itself, which is pointless.
Worked examples
Compilable examples demonstrating this error and the correct fix:
- ek9 -q 318 (How does EK9 detect self-assignment and self-comparison?)
How to fix it
- Check variable names for typo
- Remove the self-assignment if unintended
Common causes
- Typo (wrong variable name)
- Copy/paste error
- Confusion about assignment
See also
Examples
Every example is compiled by the EK9 compiler: the first fails exactly as captioned, the others fix it.
Fails with E08080: self assignment
#!ek9 defines module error.e08080.bad defines function tidy() -> name as String <- rtn as String: name.trim() rtn: rtn copyOver() <- rtn as String: "draft" rtn :=: rtn
Fixed: Assign the value you meant - here, a different variable
#!ek9 defines module error.e08080.good defines function tidy() -> name as String <- rtn as String: name.trim() copyOver() -> source as String <- rtn as String: "draft" rtn :=: source
Questions and answers
These Q&A entries show E08080 and its fix: