Wrong warning on Script Analysis

I have this code in a ServerScript:

local Players = game:GetService("Players")
Players.PlayerAdded:Connect( function(Player)
	local function a()
		local function b()
			function c() 
				-- anything...
			end
			c()
		end
	end
	c()
end)

This way, Script Analysis shows me the warning:

W003: (5,13) Global ‘c’ is only used in the enclosing function defined at line 2; consider changing it to local

Changing function c() to local function c() I get this:

W001: (11,2) Unknown global ‘c’

But the problem is because all functions are inside Players.PlayerAdded:Connect( function(Player).

If I have only this code, I get no warnings:

local function a()
	local function b()
		function c() 
			-- anything...
		end
		c()
	end
end
c()

What’s wrong?

script analysis has been getting worked on and I’ve noticed it isn’t perfect yet

sometimes it says a child doesn’t exist when it does exist, just ignore the warning if it doesn’t effect your code
warnings aren’t always errors

Yes, but incorrect warnings get in the way and distract from the correct warnings because if I get used to ignoring the incorrect warnings, I won’t pay attention to the correct ones.
How to get rid of it?

well you can’t get rid of it, you are going to need to know if a warning is correct or not, if you get a warning don’t ignore until you know 100% that it is wrong or not

roblox is currently working on script analysis in the beta program and will have it updated for everyone so it works better, hope I helped

Now I understand why I got discouraged and abandoned developing my game for several months.
It’s very frustrating to live with hundreds of bugs, which accumulate one after another, without any attention by the Roblox team.
Having to, on a daily basis, sneak between one bug and another, in order to get a result, is highly discouraging.

this one has attention, besides it’s not a game breaking bug