Skip to content

zend_ast assertion failure in class property initializer #21072

Description

@vi3tL0u1s

Description

The following code:

<?php 
class C { public $p = (unset)C::class; }
new C;

Resulted in this output:

php: /path/to/php-src/Zend/zend_ast.c:817: zend_ast_evaluate_inner: Assertion `0' failed.
Aborted

Commit:

4d5b651e9003ece86b4146a0d1d12417a07eb3a3

Build configuration:

CC="clang" CXX="clang++" CFLAGS="-DZEND_VERIFY_TYPE_INFERENCE" CXXFLAGS="-DZEND_VERIFY_TYPE_INFERENCE" ./configure --enable-debug --enable-address-sanitizer --disable-all --enable-cli

PHP Version

PHP 8.6.0-dev (cli) (built: Jan 29 2026 14:13:52) (NTS DEBUG)
Copyright (c) The PHP Group
Zend Engine v4.6.0-dev, Copyright (c) Zend Technologies
    with Zend OPcache v8.6.0-dev, Copyright (c), by Zend Technologies

Operating System

Ubuntu 22.04

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions