#1 gp::function crashes spectacularly on calling a copy

Zamknięty
otworzone 4 lat temu przez Archivist · 0 komentarzy
Archivist skomentował(-a) 4 lat temu

Test case

struct function_test : public test_scaffold {
	function_test() {
		name = __FILE__ "_function_copy:3";
	}


	virtual int run() {
		int res = 0;
		gp::function<float(vec3)> l_sdf_b = gp::sphere_sdf<float>({0.0,0.0,0.0}, 1.0);

		gp::function<float(vec3)> sdf = l_sdf_b;

		gp_config::assertion(sdf(vec3(0,0,0)) == -1, "Bad sdf");

		return res;
	}
};

append_test dummy_ml8576f(new function_test{});

Expected result

Either the sphere_sdf fails or generate a function that is invalid and the assertion is triggered, or the assertion is met and the function returns normally.

Results

Fails with SIGSEGV

## Test case ```c++ struct function_test : public test_scaffold { function_test() { name = __FILE__ "_function_copy:3"; } virtual int run() { int res = 0; gp::function<float(vec3)> l_sdf_b = gp::sphere_sdf<float>({0.0,0.0,0.0}, 1.0); gp::function<float(vec3)> sdf = l_sdf_b; gp_config::assertion(sdf(vec3(0,0,0)) == -1, "Bad sdf"); return res; } }; append_test dummy_ml8576f(new function_test{}); ``` ## Expected result Either the `sphere_sdf` fails or generate a function that is invalid and the assertion is triggered, or the assertion is met and the function returns normally. ## Results Fails with SIGSEGV
Archivist przypisuje to na siebie 4 lat temu
Archivist dodał(-ęła) etykietę
Bug
4 lat temu
Archivist dodał(-ęła) etykietę
Pitfall
4 lat temu
Archivist wspomniał(-a) to zgłoszenie z commita 4 lat temu
Archivist zamknął(-ęła) to zgłoszenie 4 lat temu
Zaloguj się, aby dołączyć do tej rozmowy.
Brak kamienia milowego
Brak przypisanych
Uczestnicy 1
Powiadomienia
Termin realizacji

Brak ustawionego terminu realizacji.

Zależności

To zgłoszenie nie ma w tej chwili żadnych zależności.

Ładowanie…
Nie ma jeszcze treści.