Bug 40409 quick fix: nonsensical proposal [quick fix]
20030716 void f(){ int i= f(); } the proposal you get is: 'change variable type to void' which makes no sense
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/LocalCorrectionsSubProcessor.java
castTarget= castTarget.substring(0, arrStart);
			bindingToCast= bindingToCast.getElementType();
			if (bindingToCast.isPrimitive() && !castTarget.equals(bindingToCast.getName())) {
				return false; 
			}
		}
		
		Code targetCode= PrimitiveType.toCode(castTarget);
		if (bindingToCast.isPrimitive()) {
			Code castCode= PrimitiveType.toCode(bindingToCast.getName());
			if (castCode == targetCode) {
				return true;
			}
			return (targetCode != null && targetCode != PrimitiveType.BOOLEAN && castCode != PrimitiveType.BOOLEAN);
		} else {
			return targetCode == null;
		}
	}
	
	
	public static ASTRewriteCorrectionProposal getCastProposal(IInvocationContext context, String castType, Expression nodeToCast, int relevance) throws CoreException {
		ITypeBinding binding= nodeToCast.resolveTypeBinding();
		if (binding != null && !canCast(castType, binding)) {
			return null;
		}
		
		ICompilationUnit cu= context.getCompilationUnit();
		CompilationUnit astRoot= context.getASTRoot();
		
		ASTRewrite rewrite= new ASTRewrite(nodeToCast.getParent());