While creating a nee erc20 token I get a notification while trying to compile the code about - shadows. Anyone can help fix that?
Warning: This declaration shadows an existing declaration. --> tests/4_Ballot_test.sol:447:17: | 447 | constructor (string memory name, string memory symbol, uint256 initialSupply,address payable owner) public { | ^^^^^^^^^^^^^^^^^^ Note: The shadowed declaration is here: --> tests/4_Ballot_test.sol:459:5: | 459 | function name() public view returns (string memory) { | ^ (Relevant source part starts here and spans across multiple lines).
Warning: This declaration shadows an existing declaration. --> tests/4_Ballot_test.sol:447:37: | 447 | constructor (string memory name, string memory symbol, uint256 initialSupply,address payable owner) public { | ^^^^^^^^^^^^^^^^^^^^ Note: The shadowed declaration is here: --> tests/4_Ballot_test.sol:467:5: | 467 | function symbol() public view returns (string memory) { | ^ (Relevant source part starts here and spans across multiple lines).
DeclarationError: Non-abstract contracts cannot have internal constructors. Remove the "internal" keyword and make the contract abstract to fix this. --> tests/4_Ballot_test.sol:303:5: | 303 | constructor () internal { } | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Return argument type address is not implicitly convertible to expected type (type of first return variable) address payable. --> tests/4_Ballot_test.sol:306:16: | 306 | return msg.sender; | ^^^^^^^^^^
Warning: Visibility for constructor is ignored. If you want the contract to be non-deployable, making it "abstract" is sufficient. --> tests/4_Ballot_test.sol:447:4: | 447 | constructor (string memory name, string memory symbol, uint256 initialSupply,address payable owner) public { | ^ (Relevant source part starts here and spans across multiple lines).