Skript icon indicating copy to clipboard operation
Skript copied to clipboard

List to List comparisons no longer function

Open Fusezion opened this issue 1 year ago • 1 comments

Skript/Server Version

[03:05:30 INFO]: [Skript] Skript's aliases can be found here: https://github.com/SkriptLang/skript-aliases
[03:05:30 INFO]: [Skript] Skript's documentation can be found here: https://docs.skriptlang.org/
[03:05:30 INFO]: [Skript] Skript's tutorials can be found here: https://docs.skriptlang.org/tutorials
[03:05:30 INFO]: [Skript] Server Version: git-Paper-346 (MC: 1.20.4)
[03:05:30 INFO]: [Skript] Skript Version: 2.8.0-pre1 (selfbuilt-unknown)
[03:05:30 INFO]: [Skript] Installed Skript Addons:
[03:05:30 INFO]: [Skript]  - skript-gui v1.3 (https://github.com/APickledWalrus/skript-gui)
[03:05:30 INFO]: [Skript]  - skript-reflect v2.4-dev2 (https://github.com/SkriptLang/skript-reflect)
[03:05:30 INFO]: [Skript] Installed dependencies: None

Bug Description

When attempting to compare a list against another list, no matter what you do you can no longer be successful. This issue here is somewhat showed in the image below. However for those who don't like to read cramped text.

When you compare a list it'll iterate over each element within both list so stone -> stone then dirt dirt -> stone then dirt what happens here is stone is stone passes and moves on to dirt, dirt then fails on stone when it meets causing a comparison that is correct to never pass.

Expected Behavior

When comparing list only check for each object once (i.e. stone = stone, okay no longer check for the first instance of stone, move on to dirt is dirt)

Steps to Reproduce

on load:
    set {_list::*} to stone and dirt
    {_list::*} is {_list::*}
    broadcast "List = List, Yay!!"

Errors or Screenshots

image

Other

reflect is a custom build that fixes issues caused in 2.8-pre1 nothing was changed

Agreement

  • [X] I have read the guidelines above and affirm I am following them with this report.

Fusezion avatar Jan 02 '24 08:01 Fusezion

Have replicated when writing tests for ExprDrops, ExprPercent. and the clamp function: image

Discussion in discord for parity: image Starts at this message.

And finally, here's what causes it. Each element of first is checked against all elements of second: image (CondCompare#check(), line 346)

sovdeeth avatar Jan 02 '24 08:01 sovdeeth